{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "ccefc5da",
   "metadata": {},
   "outputs": [],
   "source": [
    "# importing libaries\n",
    "\n",
    "import torch\n",
    "import torch.nn as nn\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.io"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "f1e9bd2d",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Define the RNN model\n",
    "class RNN(nn.Module):\n",
    "    def __init__(self, input_size, hidden_size, output_size):\n",
    "        super(RNN, self).__init__()\n",
    "\n",
    "        self.hidden_size = hidden_size\n",
    "\n",
    "        self.rnn = nn.RNN(input_size, hidden_size, batch_first=True)\n",
    "        self.fc = nn.Linear(hidden_size, output_size)\n",
    "\n",
    "    def forward(self, x, hidden):\n",
    "        output, hidden = self.rnn(x, hidden)\n",
    "        output = self.fc(output)\n",
    "        return output, hidden\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "ab942109",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Toy problem data\n",
    "input_size = 256  # number of columns in a dataset\n",
    "hidden_size = 32  # number of neurons\n",
    "output_size = 256  \n",
    "sequence_length = 160  # number of sequences/ number of rows\n",
    "batch_size = 1\n",
    "num_epochs = 30000"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "19450d3a",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Load the .mat file\n",
    "v_data = scipy.io.loadmat('v.mat')\n",
    "h_data = scipy.io.loadmat('h.mat')\n",
    "x_data = scipy.io.loadmat('x.mat')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "94133527",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(201, 256)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = x_data['X']\n",
    "u = h_data['h']\n",
    "u.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "fde5d937",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<torch._C.Generator at 0x7fd45008c7b0>"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Set random seed for reproducibility\n",
    "torch.manual_seed(40)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "9be3a335",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "test data shape (256,)\n",
      "input data shape (160, 256)\n",
      "Target data shape (160, 256)\n"
     ]
    }
   ],
   "source": [
    "input_data = u[0:160,:]\n",
    "target_data = u[1:161, :]\n",
    "\n",
    "test_data = u[160, :]\n",
    "#test_target = u[161:201, :]\n",
    "\n",
    "print(\"test data shape\", test_data.shape)\n",
    "#print(\"test target shape\", test_target.shape)\n",
    "\n",
    "print(\"input data shape\",input_data.shape)\n",
    "print(\"Target data shape\",target_data.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "a46d6749",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "input tensor shape torch.Size([1, 160, 256])\n",
      "Target tensor shape torch.Size([1, 160, 256])\n"
     ]
    }
   ],
   "source": [
    "# Convert data to tensors\n",
    "input_tensor = torch.tensor(input_data).view(batch_size, sequence_length, input_size).float()\n",
    "target_tensor = torch.tensor(target_data).view(batch_size, sequence_length, output_size).float()\n",
    "\n",
    "print(\"input tensor shape\",input_tensor.shape)\n",
    "print(\"Target tensor shape\",target_tensor.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "7aea6d27",
   "metadata": {},
   "outputs": [],
   "source": [
    "# Convert test data to tensors\n",
    "test_tensor = torch.tensor(test_data).view(batch_size, 1, input_size).float()\n",
    "#test_target_tensor = torch.tensor(test_target).view(batch_size, 40, output_size).float()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "e30cfc4a",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 10/30000, Loss: 0.0895\n",
      "Epoch: 20/30000, Loss: 0.0452\n",
      "Epoch: 30/30000, Loss: 0.0159\n",
      "Epoch: 40/30000, Loss: 0.0076\n",
      "Epoch: 50/30000, Loss: 0.0037\n",
      "Epoch: 60/30000, Loss: 0.0019\n",
      "Epoch: 70/30000, Loss: 0.0013\n",
      "Epoch: 80/30000, Loss: 0.0009\n",
      "Epoch: 90/30000, Loss: 0.0008\n",
      "Epoch: 100/30000, Loss: 0.0007\n",
      "Epoch: 110/30000, Loss: 0.0006\n",
      "Epoch: 120/30000, Loss: 0.0006\n",
      "Epoch: 130/30000, Loss: 0.0005\n",
      "Epoch: 140/30000, Loss: 0.0005\n",
      "Epoch: 150/30000, Loss: 0.0005\n",
      "Epoch: 160/30000, Loss: 0.0005\n",
      "Epoch: 170/30000, Loss: 0.0004\n",
      "Epoch: 180/30000, Loss: 0.0005\n",
      "Epoch: 190/30000, Loss: 0.0008\n",
      "Epoch: 200/30000, Loss: 0.0004\n",
      "Epoch: 210/30000, Loss: 0.0004\n",
      "Epoch: 220/30000, Loss: 0.0004\n",
      "Epoch: 230/30000, Loss: 0.0003\n",
      "Epoch: 240/30000, Loss: 0.0003\n",
      "Epoch: 250/30000, Loss: 0.0003\n",
      "Epoch: 260/30000, Loss: 0.0002\n",
      "Epoch: 270/30000, Loss: 0.0002\n",
      "Epoch: 280/30000, Loss: 0.0002\n",
      "Epoch: 290/30000, Loss: 0.0002\n",
      "Epoch: 300/30000, Loss: 0.0002\n",
      "Epoch: 310/30000, Loss: 0.0002\n",
      "Epoch: 320/30000, Loss: 0.0002\n",
      "Epoch: 330/30000, Loss: 0.0001\n",
      "Epoch: 340/30000, Loss: 0.0001\n",
      "Epoch: 350/30000, Loss: 0.0001\n",
      "Epoch: 360/30000, Loss: 0.0001\n",
      "Epoch: 370/30000, Loss: 0.0001\n",
      "Epoch: 380/30000, Loss: 0.0001\n",
      "Epoch: 390/30000, Loss: 0.0001\n",
      "Epoch: 400/30000, Loss: 0.0010\n",
      "Epoch: 410/30000, Loss: 0.0003\n",
      "Epoch: 420/30000, Loss: 0.0002\n",
      "Epoch: 430/30000, Loss: 0.0001\n",
      "Epoch: 440/30000, Loss: 0.0001\n",
      "Epoch: 450/30000, Loss: 0.0001\n",
      "Epoch: 460/30000, Loss: 0.0001\n",
      "Epoch: 470/30000, Loss: 0.0001\n",
      "Epoch: 480/30000, Loss: 0.0001\n",
      "Epoch: 490/30000, Loss: 0.0001\n",
      "Epoch: 500/30000, Loss: 0.0001\n",
      "Epoch: 510/30000, Loss: 0.0001\n",
      "Epoch: 520/30000, Loss: 0.0006\n",
      "Epoch: 530/30000, Loss: 0.0001\n",
      "Epoch: 540/30000, Loss: 0.0001\n",
      "Epoch: 550/30000, Loss: 0.0001\n",
      "Epoch: 560/30000, Loss: 0.0001\n",
      "Epoch: 570/30000, Loss: 0.0001\n",
      "Epoch: 580/30000, Loss: 0.0001\n",
      "Epoch: 590/30000, Loss: 0.0001\n",
      "Epoch: 600/30000, Loss: 0.0001\n",
      "Epoch: 610/30000, Loss: 0.0001\n",
      "Epoch: 620/30000, Loss: 0.0001\n",
      "Epoch: 630/30000, Loss: 0.0001\n",
      "Epoch: 640/30000, Loss: 0.0001\n",
      "Epoch: 650/30000, Loss: 0.0001\n",
      "Epoch: 660/30000, Loss: 0.0001\n",
      "Epoch: 670/30000, Loss: 0.0001\n",
      "Epoch: 680/30000, Loss: 0.0001\n",
      "Epoch: 690/30000, Loss: 0.0001\n",
      "Epoch: 700/30000, Loss: 0.0001\n",
      "Epoch: 710/30000, Loss: 0.0001\n",
      "Epoch: 720/30000, Loss: 0.0001\n",
      "Epoch: 730/30000, Loss: 0.0001\n",
      "Epoch: 740/30000, Loss: 0.0001\n",
      "Epoch: 750/30000, Loss: 0.0001\n",
      "Epoch: 760/30000, Loss: 0.0001\n",
      "Epoch: 770/30000, Loss: 0.0001\n",
      "Epoch: 780/30000, Loss: 0.0001\n",
      "Epoch: 790/30000, Loss: 0.0001\n",
      "Epoch: 800/30000, Loss: 0.0001\n",
      "Epoch: 810/30000, Loss: 0.0001\n",
      "Epoch: 820/30000, Loss: 0.0001\n",
      "Epoch: 830/30000, Loss: 0.0001\n",
      "Epoch: 840/30000, Loss: 0.0001\n",
      "Epoch: 850/30000, Loss: 0.0001\n",
      "Epoch: 860/30000, Loss: 0.0001\n",
      "Epoch: 870/30000, Loss: 0.0001\n",
      "Epoch: 880/30000, Loss: 0.0001\n",
      "Epoch: 890/30000, Loss: 0.0001\n",
      "Epoch: 900/30000, Loss: 0.0001\n",
      "Epoch: 910/30000, Loss: 0.0001\n",
      "Epoch: 920/30000, Loss: 0.0001\n",
      "Epoch: 930/30000, Loss: 0.0001\n",
      "Epoch: 940/30000, Loss: 0.0001\n",
      "Epoch: 950/30000, Loss: 0.0002\n",
      "Epoch: 960/30000, Loss: 0.0003\n",
      "Epoch: 970/30000, Loss: 0.0001\n",
      "Epoch: 980/30000, Loss: 0.0001\n",
      "Epoch: 990/30000, Loss: 0.0001\n",
      "Epoch: 1000/30000, Loss: 0.0001\n",
      "Epoch: 1010/30000, Loss: 0.0001\n",
      "Epoch: 1020/30000, Loss: 0.0001\n",
      "Epoch: 1030/30000, Loss: 0.0001\n",
      "Epoch: 1040/30000, Loss: 0.0001\n",
      "Epoch: 1050/30000, Loss: 0.0001\n",
      "Epoch: 1060/30000, Loss: 0.0001\n",
      "Epoch: 1070/30000, Loss: 0.0001\n",
      "Epoch: 1080/30000, Loss: 0.0001\n",
      "Epoch: 1090/30000, Loss: 0.0001\n",
      "Epoch: 1100/30000, Loss: 0.0001\n",
      "Epoch: 1110/30000, Loss: 0.0001\n",
      "Epoch: 1120/30000, Loss: 0.0001\n",
      "Epoch: 1130/30000, Loss: 0.0001\n",
      "Epoch: 1140/30000, Loss: 0.0001\n",
      "Epoch: 1150/30000, Loss: 0.0001\n",
      "Epoch: 1160/30000, Loss: 0.0001\n",
      "Epoch: 1170/30000, Loss: 0.0001\n",
      "Epoch: 1180/30000, Loss: 0.0014\n",
      "Epoch: 1190/30000, Loss: 0.0002\n",
      "Epoch: 1200/30000, Loss: 0.0001\n",
      "Epoch: 1210/30000, Loss: 0.0001\n",
      "Epoch: 1220/30000, Loss: 0.0001\n",
      "Epoch: 1230/30000, Loss: 0.0001\n",
      "Epoch: 1240/30000, Loss: 0.0001\n",
      "Epoch: 1250/30000, Loss: 0.0001\n",
      "Epoch: 1260/30000, Loss: 0.0001\n",
      "Epoch: 1270/30000, Loss: 0.0001\n",
      "Epoch: 1280/30000, Loss: 0.0001\n",
      "Epoch: 1290/30000, Loss: 0.0001\n",
      "Epoch: 1300/30000, Loss: 0.0001\n",
      "Epoch: 1310/30000, Loss: 0.0001\n",
      "Epoch: 1320/30000, Loss: 0.0001\n",
      "Epoch: 1330/30000, Loss: 0.0001\n",
      "Epoch: 1340/30000, Loss: 0.0001\n",
      "Epoch: 1350/30000, Loss: 0.0001\n",
      "Epoch: 1360/30000, Loss: 0.0001\n",
      "Epoch: 1370/30000, Loss: 0.0001\n",
      "Epoch: 1380/30000, Loss: 0.0001\n",
      "Epoch: 1390/30000, Loss: 0.0002\n",
      "Epoch: 1400/30000, Loss: 0.0003\n",
      "Epoch: 1410/30000, Loss: 0.0001\n",
      "Epoch: 1420/30000, Loss: 0.0001\n",
      "Epoch: 1430/30000, Loss: 0.0001\n",
      "Epoch: 1440/30000, Loss: 0.0001\n",
      "Epoch: 1450/30000, Loss: 0.0001\n",
      "Epoch: 1460/30000, Loss: 0.0001\n",
      "Epoch: 1470/30000, Loss: 0.0001\n",
      "Epoch: 1480/30000, Loss: 0.0001\n",
      "Epoch: 1490/30000, Loss: 0.0001\n",
      "Epoch: 1500/30000, Loss: 0.0001\n",
      "Epoch: 1510/30000, Loss: 0.0001\n",
      "Epoch: 1520/30000, Loss: 0.0001\n",
      "Epoch: 1530/30000, Loss: 0.0001\n",
      "Epoch: 1540/30000, Loss: 0.0001\n",
      "Epoch: 1550/30000, Loss: 0.0001\n",
      "Epoch: 1560/30000, Loss: 0.0006\n",
      "Epoch: 1570/30000, Loss: 0.0003\n",
      "Epoch: 1580/30000, Loss: 0.0001\n",
      "Epoch: 1590/30000, Loss: 0.0001\n",
      "Epoch: 1600/30000, Loss: 0.0001\n",
      "Epoch: 1610/30000, Loss: 0.0000\n",
      "Epoch: 1620/30000, Loss: 0.0000\n",
      "Epoch: 1630/30000, Loss: 0.0000\n",
      "Epoch: 1640/30000, Loss: 0.0000\n",
      "Epoch: 1650/30000, Loss: 0.0000\n",
      "Epoch: 1660/30000, Loss: 0.0000\n",
      "Epoch: 1670/30000, Loss: 0.0000\n",
      "Epoch: 1680/30000, Loss: 0.0000\n",
      "Epoch: 1690/30000, Loss: 0.0001\n",
      "Epoch: 1700/30000, Loss: 0.0003\n",
      "Epoch: 1710/30000, Loss: 0.0001\n",
      "Epoch: 1720/30000, Loss: 0.0001\n",
      "Epoch: 1730/30000, Loss: 0.0001\n",
      "Epoch: 1740/30000, Loss: 0.0001\n",
      "Epoch: 1750/30000, Loss: 0.0001\n",
      "Epoch: 1760/30000, Loss: 0.0000\n",
      "Epoch: 1770/30000, Loss: 0.0001\n",
      "Epoch: 1780/30000, Loss: 0.0001\n",
      "Epoch: 1790/30000, Loss: 0.0001\n",
      "Epoch: 1800/30000, Loss: 0.0001\n",
      "Epoch: 1810/30000, Loss: 0.0001\n",
      "Epoch: 1820/30000, Loss: 0.0000\n",
      "Epoch: 1830/30000, Loss: 0.0000\n",
      "Epoch: 1840/30000, Loss: 0.0000\n",
      "Epoch: 1850/30000, Loss: 0.0000\n",
      "Epoch: 1860/30000, Loss: 0.0001\n",
      "Epoch: 1870/30000, Loss: 0.0003\n",
      "Epoch: 1880/30000, Loss: 0.0002\n",
      "Epoch: 1890/30000, Loss: 0.0001\n",
      "Epoch: 1900/30000, Loss: 0.0000\n",
      "Epoch: 1910/30000, Loss: 0.0000\n",
      "Epoch: 1920/30000, Loss: 0.0000\n",
      "Epoch: 1930/30000, Loss: 0.0000\n",
      "Epoch: 1940/30000, Loss: 0.0001\n",
      "Epoch: 1950/30000, Loss: 0.0001\n",
      "Epoch: 1960/30000, Loss: 0.0001\n",
      "Epoch: 1970/30000, Loss: 0.0000\n",
      "Epoch: 1980/30000, Loss: 0.0000\n",
      "Epoch: 1990/30000, Loss: 0.0000\n",
      "Epoch: 2000/30000, Loss: 0.0001\n",
      "Epoch: 2010/30000, Loss: 0.0001\n",
      "Epoch: 2020/30000, Loss: 0.0000\n",
      "Epoch: 2030/30000, Loss: 0.0000\n",
      "Epoch: 2040/30000, Loss: 0.0001\n",
      "Epoch: 2050/30000, Loss: 0.0001\n",
      "Epoch: 2060/30000, Loss: 0.0001\n",
      "Epoch: 2070/30000, Loss: 0.0000\n",
      "Epoch: 2080/30000, Loss: 0.0000\n",
      "Epoch: 2090/30000, Loss: 0.0000\n",
      "Epoch: 2100/30000, Loss: 0.0000\n",
      "Epoch: 2110/30000, Loss: 0.0003\n",
      "Epoch: 2120/30000, Loss: 0.0001\n",
      "Epoch: 2130/30000, Loss: 0.0006\n",
      "Epoch: 2140/30000, Loss: 0.0001\n",
      "Epoch: 2150/30000, Loss: 0.0001\n",
      "Epoch: 2160/30000, Loss: 0.0000\n",
      "Epoch: 2170/30000, Loss: 0.0000\n",
      "Epoch: 2180/30000, Loss: 0.0000\n",
      "Epoch: 2190/30000, Loss: 0.0000\n",
      "Epoch: 2200/30000, Loss: 0.0000\n",
      "Epoch: 2210/30000, Loss: 0.0000\n",
      "Epoch: 2220/30000, Loss: 0.0000\n",
      "Epoch: 2230/30000, Loss: 0.0000\n",
      "Epoch: 2240/30000, Loss: 0.0006\n",
      "Epoch: 2250/30000, Loss: 0.0003\n",
      "Epoch: 2260/30000, Loss: 0.0002\n",
      "Epoch: 2270/30000, Loss: 0.0001\n",
      "Epoch: 2280/30000, Loss: 0.0000\n",
      "Epoch: 2290/30000, Loss: 0.0000\n",
      "Epoch: 2300/30000, Loss: 0.0000\n",
      "Epoch: 2310/30000, Loss: 0.0000\n",
      "Epoch: 2320/30000, Loss: 0.0000\n",
      "Epoch: 2330/30000, Loss: 0.0003\n",
      "Epoch: 2340/30000, Loss: 0.0001\n",
      "Epoch: 2350/30000, Loss: 0.0001\n",
      "Epoch: 2360/30000, Loss: 0.0001\n",
      "Epoch: 2370/30000, Loss: 0.0000\n",
      "Epoch: 2380/30000, Loss: 0.0000\n",
      "Epoch: 2390/30000, Loss: 0.0000\n",
      "Epoch: 2400/30000, Loss: 0.0000\n",
      "Epoch: 2410/30000, Loss: 0.0000\n",
      "Epoch: 2420/30000, Loss: 0.0000\n",
      "Epoch: 2430/30000, Loss: 0.0002\n",
      "Epoch: 2440/30000, Loss: 0.0001\n",
      "Epoch: 2450/30000, Loss: 0.0001\n",
      "Epoch: 2460/30000, Loss: 0.0000\n",
      "Epoch: 2470/30000, Loss: 0.0000\n",
      "Epoch: 2480/30000, Loss: 0.0000\n",
      "Epoch: 2490/30000, Loss: 0.0000\n",
      "Epoch: 2500/30000, Loss: 0.0004\n",
      "Epoch: 2510/30000, Loss: 0.0001\n",
      "Epoch: 2520/30000, Loss: 0.0002\n",
      "Epoch: 2530/30000, Loss: 0.0001\n",
      "Epoch: 2540/30000, Loss: 0.0000\n",
      "Epoch: 2550/30000, Loss: 0.0000\n",
      "Epoch: 2560/30000, Loss: 0.0000\n",
      "Epoch: 2570/30000, Loss: 0.0000\n",
      "Epoch: 2580/30000, Loss: 0.0000\n",
      "Epoch: 2590/30000, Loss: 0.0000\n",
      "Epoch: 2600/30000, Loss: 0.0000\n",
      "Epoch: 2610/30000, Loss: 0.0001\n",
      "Epoch: 2620/30000, Loss: 0.0001\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 2630/30000, Loss: 0.0000\n",
      "Epoch: 2640/30000, Loss: 0.0000\n",
      "Epoch: 2650/30000, Loss: 0.0001\n",
      "Epoch: 2660/30000, Loss: 0.0001\n",
      "Epoch: 2670/30000, Loss: 0.0001\n",
      "Epoch: 2680/30000, Loss: 0.0000\n",
      "Epoch: 2690/30000, Loss: 0.0000\n",
      "Epoch: 2700/30000, Loss: 0.0000\n",
      "Epoch: 2710/30000, Loss: 0.0000\n",
      "Epoch: 2720/30000, Loss: 0.0000\n",
      "Epoch: 2730/30000, Loss: 0.0003\n",
      "Epoch: 2740/30000, Loss: 0.0009\n",
      "Epoch: 2750/30000, Loss: 0.0005\n",
      "Epoch: 2760/30000, Loss: 0.0001\n",
      "Epoch: 2770/30000, Loss: 0.0001\n",
      "Epoch: 2780/30000, Loss: 0.0000\n",
      "Epoch: 2790/30000, Loss: 0.0000\n",
      "Epoch: 2800/30000, Loss: 0.0000\n",
      "Epoch: 2810/30000, Loss: 0.0000\n",
      "Epoch: 2820/30000, Loss: 0.0000\n",
      "Epoch: 2830/30000, Loss: 0.0000\n",
      "Epoch: 2840/30000, Loss: 0.0000\n",
      "Epoch: 2850/30000, Loss: 0.0006\n",
      "Epoch: 2860/30000, Loss: 0.0001\n",
      "Epoch: 2870/30000, Loss: 0.0000\n",
      "Epoch: 2880/30000, Loss: 0.0000\n",
      "Epoch: 2890/30000, Loss: 0.0000\n",
      "Epoch: 2900/30000, Loss: 0.0000\n",
      "Epoch: 2910/30000, Loss: 0.0000\n",
      "Epoch: 2920/30000, Loss: 0.0000\n",
      "Epoch: 2930/30000, Loss: 0.0002\n",
      "Epoch: 2940/30000, Loss: 0.0001\n",
      "Epoch: 2950/30000, Loss: 0.0002\n",
      "Epoch: 2960/30000, Loss: 0.0001\n",
      "Epoch: 2970/30000, Loss: 0.0000\n",
      "Epoch: 2980/30000, Loss: 0.0000\n",
      "Epoch: 2990/30000, Loss: 0.0000\n",
      "Epoch: 3000/30000, Loss: 0.0000\n",
      "Epoch: 3010/30000, Loss: 0.0000\n",
      "Epoch: 3020/30000, Loss: 0.0000\n",
      "Epoch: 3030/30000, Loss: 0.0000\n",
      "Epoch: 3040/30000, Loss: 0.0000\n",
      "Epoch: 3050/30000, Loss: 0.0001\n",
      "Epoch: 3060/30000, Loss: 0.0001\n",
      "Epoch: 3070/30000, Loss: 0.0001\n",
      "Epoch: 3080/30000, Loss: 0.0000\n",
      "Epoch: 3090/30000, Loss: 0.0000\n",
      "Epoch: 3100/30000, Loss: 0.0000\n",
      "Epoch: 3110/30000, Loss: 0.0000\n",
      "Epoch: 3120/30000, Loss: 0.0000\n",
      "Epoch: 3130/30000, Loss: 0.0001\n",
      "Epoch: 3140/30000, Loss: 0.0002\n",
      "Epoch: 3150/30000, Loss: 0.0001\n",
      "Epoch: 3160/30000, Loss: 0.0001\n",
      "Epoch: 3170/30000, Loss: 0.0000\n",
      "Epoch: 3180/30000, Loss: 0.0000\n",
      "Epoch: 3190/30000, Loss: 0.0000\n",
      "Epoch: 3200/30000, Loss: 0.0000\n",
      "Epoch: 3210/30000, Loss: 0.0001\n",
      "Epoch: 3220/30000, Loss: 0.0001\n",
      "Epoch: 3230/30000, Loss: 0.0001\n",
      "Epoch: 3240/30000, Loss: 0.0000\n",
      "Epoch: 3250/30000, Loss: 0.0000\n",
      "Epoch: 3260/30000, Loss: 0.0001\n",
      "Epoch: 3270/30000, Loss: 0.0001\n",
      "Epoch: 3280/30000, Loss: 0.0000\n",
      "Epoch: 3290/30000, Loss: 0.0000\n",
      "Epoch: 3300/30000, Loss: 0.0000\n",
      "Epoch: 3310/30000, Loss: 0.0001\n",
      "Epoch: 3320/30000, Loss: 0.0003\n",
      "Epoch: 3330/30000, Loss: 0.0001\n",
      "Epoch: 3340/30000, Loss: 0.0001\n",
      "Epoch: 3350/30000, Loss: 0.0000\n",
      "Epoch: 3360/30000, Loss: 0.0000\n",
      "Epoch: 3370/30000, Loss: 0.0000\n",
      "Epoch: 3380/30000, Loss: 0.0000\n",
      "Epoch: 3390/30000, Loss: 0.0002\n",
      "Epoch: 3400/30000, Loss: 0.0002\n",
      "Epoch: 3410/30000, Loss: 0.0003\n",
      "Epoch: 3420/30000, Loss: 0.0001\n",
      "Epoch: 3430/30000, Loss: 0.0000\n",
      "Epoch: 3440/30000, Loss: 0.0000\n",
      "Epoch: 3450/30000, Loss: 0.0000\n",
      "Epoch: 3460/30000, Loss: 0.0001\n",
      "Epoch: 3470/30000, Loss: 0.0001\n",
      "Epoch: 3480/30000, Loss: 0.0001\n",
      "Epoch: 3490/30000, Loss: 0.0000\n",
      "Epoch: 3500/30000, Loss: 0.0000\n",
      "Epoch: 3510/30000, Loss: 0.0000\n",
      "Epoch: 3520/30000, Loss: 0.0000\n",
      "Epoch: 3530/30000, Loss: 0.0000\n",
      "Epoch: 3540/30000, Loss: 0.0004\n",
      "Epoch: 3550/30000, Loss: 0.0002\n",
      "Epoch: 3560/30000, Loss: 0.0003\n",
      "Epoch: 3570/30000, Loss: 0.0001\n",
      "Epoch: 3580/30000, Loss: 0.0000\n",
      "Epoch: 3590/30000, Loss: 0.0000\n",
      "Epoch: 3600/30000, Loss: 0.0000\n",
      "Epoch: 3610/30000, Loss: 0.0000\n",
      "Epoch: 3620/30000, Loss: 0.0000\n",
      "Epoch: 3630/30000, Loss: 0.0000\n",
      "Epoch: 3640/30000, Loss: 0.0000\n",
      "Epoch: 3650/30000, Loss: 0.0002\n",
      "Epoch: 3660/30000, Loss: 0.0004\n",
      "Epoch: 3670/30000, Loss: 0.0002\n",
      "Epoch: 3680/30000, Loss: 0.0001\n",
      "Epoch: 3690/30000, Loss: 0.0000\n",
      "Epoch: 3700/30000, Loss: 0.0000\n",
      "Epoch: 3710/30000, Loss: 0.0000\n",
      "Epoch: 3720/30000, Loss: 0.0000\n",
      "Epoch: 3730/30000, Loss: 0.0000\n",
      "Epoch: 3740/30000, Loss: 0.0000\n",
      "Epoch: 3750/30000, Loss: 0.0002\n",
      "Epoch: 3760/30000, Loss: 0.0001\n",
      "Epoch: 3770/30000, Loss: 0.0000\n",
      "Epoch: 3780/30000, Loss: 0.0000\n",
      "Epoch: 3790/30000, Loss: 0.0000\n",
      "Epoch: 3800/30000, Loss: 0.0001\n",
      "Epoch: 3810/30000, Loss: 0.0001\n",
      "Epoch: 3820/30000, Loss: 0.0000\n",
      "Epoch: 3830/30000, Loss: 0.0000\n",
      "Epoch: 3840/30000, Loss: 0.0000\n",
      "Epoch: 3850/30000, Loss: 0.0001\n",
      "Epoch: 3860/30000, Loss: 0.0001\n",
      "Epoch: 3870/30000, Loss: 0.0002\n",
      "Epoch: 3880/30000, Loss: 0.0001\n",
      "Epoch: 3890/30000, Loss: 0.0000\n",
      "Epoch: 3900/30000, Loss: 0.0000\n",
      "Epoch: 3910/30000, Loss: 0.0000\n",
      "Epoch: 3920/30000, Loss: 0.0000\n",
      "Epoch: 3930/30000, Loss: 0.0003\n",
      "Epoch: 3940/30000, Loss: 0.0001\n",
      "Epoch: 3950/30000, Loss: 0.0000\n",
      "Epoch: 3960/30000, Loss: 0.0001\n",
      "Epoch: 3970/30000, Loss: 0.0000\n",
      "Epoch: 3980/30000, Loss: 0.0000\n",
      "Epoch: 3990/30000, Loss: 0.0000\n",
      "Epoch: 4000/30000, Loss: 0.0000\n",
      "Epoch: 4010/30000, Loss: 0.0003\n",
      "Epoch: 4020/30000, Loss: 0.0003\n",
      "Epoch: 4030/30000, Loss: 0.0001\n",
      "Epoch: 4040/30000, Loss: 0.0000\n",
      "Epoch: 4050/30000, Loss: 0.0000\n",
      "Epoch: 4060/30000, Loss: 0.0000\n",
      "Epoch: 4070/30000, Loss: 0.0000\n",
      "Epoch: 4080/30000, Loss: 0.0001\n",
      "Epoch: 4090/30000, Loss: 0.0002\n",
      "Epoch: 4100/30000, Loss: 0.0003\n",
      "Epoch: 4110/30000, Loss: 0.0001\n",
      "Epoch: 4120/30000, Loss: 0.0000\n",
      "Epoch: 4130/30000, Loss: 0.0000\n",
      "Epoch: 4140/30000, Loss: 0.0000\n",
      "Epoch: 4150/30000, Loss: 0.0000\n",
      "Epoch: 4160/30000, Loss: 0.0000\n",
      "Epoch: 4170/30000, Loss: 0.0000\n",
      "Epoch: 4180/30000, Loss: 0.0006\n",
      "Epoch: 4190/30000, Loss: 0.0001\n",
      "Epoch: 4200/30000, Loss: 0.0001\n",
      "Epoch: 4210/30000, Loss: 0.0001\n",
      "Epoch: 4220/30000, Loss: 0.0000\n",
      "Epoch: 4230/30000, Loss: 0.0000\n",
      "Epoch: 4240/30000, Loss: 0.0000\n",
      "Epoch: 4250/30000, Loss: 0.0000\n",
      "Epoch: 4260/30000, Loss: 0.0002\n",
      "Epoch: 4270/30000, Loss: 0.0000\n",
      "Epoch: 4280/30000, Loss: 0.0000\n",
      "Epoch: 4290/30000, Loss: 0.0001\n",
      "Epoch: 4300/30000, Loss: 0.0000\n",
      "Epoch: 4310/30000, Loss: 0.0000\n",
      "Epoch: 4320/30000, Loss: 0.0000\n",
      "Epoch: 4330/30000, Loss: 0.0000\n",
      "Epoch: 4340/30000, Loss: 0.0001\n",
      "Epoch: 4350/30000, Loss: 0.0001\n",
      "Epoch: 4360/30000, Loss: 0.0002\n",
      "Epoch: 4370/30000, Loss: 0.0001\n",
      "Epoch: 4380/30000, Loss: 0.0000\n",
      "Epoch: 4390/30000, Loss: 0.0000\n",
      "Epoch: 4400/30000, Loss: 0.0000\n",
      "Epoch: 4410/30000, Loss: 0.0000\n",
      "Epoch: 4420/30000, Loss: 0.0001\n",
      "Epoch: 4430/30000, Loss: 0.0003\n",
      "Epoch: 4440/30000, Loss: 0.0001\n",
      "Epoch: 4450/30000, Loss: 0.0000\n",
      "Epoch: 4460/30000, Loss: 0.0000\n",
      "Epoch: 4470/30000, Loss: 0.0000\n",
      "Epoch: 4480/30000, Loss: 0.0001\n",
      "Epoch: 4490/30000, Loss: 0.0002\n",
      "Epoch: 4500/30000, Loss: 0.0001\n",
      "Epoch: 4510/30000, Loss: 0.0000\n",
      "Epoch: 4520/30000, Loss: 0.0002\n",
      "Epoch: 4530/30000, Loss: 0.0001\n",
      "Epoch: 4540/30000, Loss: 0.0000\n",
      "Epoch: 4550/30000, Loss: 0.0000\n",
      "Epoch: 4560/30000, Loss: 0.0000\n",
      "Epoch: 4570/30000, Loss: 0.0000\n",
      "Epoch: 4580/30000, Loss: 0.0001\n",
      "Epoch: 4590/30000, Loss: 0.0004\n",
      "Epoch: 4600/30000, Loss: 0.0000\n",
      "Epoch: 4610/30000, Loss: 0.0001\n",
      "Epoch: 4620/30000, Loss: 0.0002\n",
      "Epoch: 4630/30000, Loss: 0.0001\n",
      "Epoch: 4640/30000, Loss: 0.0000\n",
      "Epoch: 4650/30000, Loss: 0.0000\n",
      "Epoch: 4660/30000, Loss: 0.0000\n",
      "Epoch: 4670/30000, Loss: 0.0000\n",
      "Epoch: 4680/30000, Loss: 0.0002\n",
      "Epoch: 4690/30000, Loss: 0.0001\n",
      "Epoch: 4700/30000, Loss: 0.0000\n",
      "Epoch: 4710/30000, Loss: 0.0000\n",
      "Epoch: 4720/30000, Loss: 0.0000\n",
      "Epoch: 4730/30000, Loss: 0.0000\n",
      "Epoch: 4740/30000, Loss: 0.0000\n",
      "Epoch: 4750/30000, Loss: 0.0004\n",
      "Epoch: 4760/30000, Loss: 0.0001\n",
      "Epoch: 4770/30000, Loss: 0.0004\n",
      "Epoch: 4780/30000, Loss: 0.0001\n",
      "Epoch: 4790/30000, Loss: 0.0000\n",
      "Epoch: 4800/30000, Loss: 0.0000\n",
      "Epoch: 4810/30000, Loss: 0.0000\n",
      "Epoch: 4820/30000, Loss: 0.0000\n",
      "Epoch: 4830/30000, Loss: 0.0005\n",
      "Epoch: 4840/30000, Loss: 0.0001\n",
      "Epoch: 4850/30000, Loss: 0.0000\n",
      "Epoch: 4860/30000, Loss: 0.0000\n",
      "Epoch: 4870/30000, Loss: 0.0000\n",
      "Epoch: 4880/30000, Loss: 0.0000\n",
      "Epoch: 4890/30000, Loss: 0.0000\n",
      "Epoch: 4900/30000, Loss: 0.0001\n",
      "Epoch: 4910/30000, Loss: 0.0004\n",
      "Epoch: 4920/30000, Loss: 0.0003\n",
      "Epoch: 4930/30000, Loss: 0.0001\n",
      "Epoch: 4940/30000, Loss: 0.0000\n",
      "Epoch: 4950/30000, Loss: 0.0000\n",
      "Epoch: 4960/30000, Loss: 0.0000\n",
      "Epoch: 4970/30000, Loss: 0.0000\n",
      "Epoch: 4980/30000, Loss: 0.0000\n",
      "Epoch: 4990/30000, Loss: 0.0008\n",
      "Epoch: 5000/30000, Loss: 0.0002\n",
      "Epoch: 5010/30000, Loss: 0.0001\n",
      "Epoch: 5020/30000, Loss: 0.0000\n",
      "Epoch: 5030/30000, Loss: 0.0000\n",
      "Epoch: 5040/30000, Loss: 0.0000\n",
      "Epoch: 5050/30000, Loss: 0.0000\n",
      "Epoch: 5060/30000, Loss: 0.0000\n",
      "Epoch: 5070/30000, Loss: 0.0000\n",
      "Epoch: 5080/30000, Loss: 0.0010\n",
      "Epoch: 5090/30000, Loss: 0.0004\n",
      "Epoch: 5100/30000, Loss: 0.0001\n",
      "Epoch: 5110/30000, Loss: 0.0001\n",
      "Epoch: 5120/30000, Loss: 0.0002\n",
      "Epoch: 5130/30000, Loss: 0.0000\n",
      "Epoch: 5140/30000, Loss: 0.0000\n",
      "Epoch: 5150/30000, Loss: 0.0000\n",
      "Epoch: 5160/30000, Loss: 0.0000\n",
      "Epoch: 5170/30000, Loss: 0.0000\n",
      "Epoch: 5180/30000, Loss: 0.0004\n",
      "Epoch: 5190/30000, Loss: 0.0008\n",
      "Epoch: 5200/30000, Loss: 0.0001\n",
      "Epoch: 5210/30000, Loss: 0.0001\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 5220/30000, Loss: 0.0000\n",
      "Epoch: 5230/30000, Loss: 0.0000\n",
      "Epoch: 5240/30000, Loss: 0.0000\n",
      "Epoch: 5250/30000, Loss: 0.0000\n",
      "Epoch: 5260/30000, Loss: 0.0000\n",
      "Epoch: 5270/30000, Loss: 0.0000\n",
      "Epoch: 5280/30000, Loss: 0.0001\n",
      "Epoch: 5290/30000, Loss: 0.0001\n",
      "Epoch: 5300/30000, Loss: 0.0000\n",
      "Epoch: 5310/30000, Loss: 0.0000\n",
      "Epoch: 5320/30000, Loss: 0.0000\n",
      "Epoch: 5330/30000, Loss: 0.0000\n",
      "Epoch: 5340/30000, Loss: 0.0000\n",
      "Epoch: 5350/30000, Loss: 0.0003\n",
      "Epoch: 5360/30000, Loss: 0.0001\n",
      "Epoch: 5370/30000, Loss: 0.0003\n",
      "Epoch: 5380/30000, Loss: 0.0001\n",
      "Epoch: 5390/30000, Loss: 0.0000\n",
      "Epoch: 5400/30000, Loss: 0.0000\n",
      "Epoch: 5410/30000, Loss: 0.0000\n",
      "Epoch: 5420/30000, Loss: 0.0001\n",
      "Epoch: 5430/30000, Loss: 0.0001\n",
      "Epoch: 5440/30000, Loss: 0.0000\n",
      "Epoch: 5450/30000, Loss: 0.0000\n",
      "Epoch: 5460/30000, Loss: 0.0000\n",
      "Epoch: 5470/30000, Loss: 0.0002\n",
      "Epoch: 5480/30000, Loss: 0.0001\n",
      "Epoch: 5490/30000, Loss: 0.0002\n",
      "Epoch: 5500/30000, Loss: 0.0001\n",
      "Epoch: 5510/30000, Loss: 0.0000\n",
      "Epoch: 5520/30000, Loss: 0.0000\n",
      "Epoch: 5530/30000, Loss: 0.0000\n",
      "Epoch: 5540/30000, Loss: 0.0013\n",
      "Epoch: 5550/30000, Loss: 0.0002\n",
      "Epoch: 5560/30000, Loss: 0.0001\n",
      "Epoch: 5570/30000, Loss: 0.0000\n",
      "Epoch: 5580/30000, Loss: 0.0000\n",
      "Epoch: 5590/30000, Loss: 0.0000\n",
      "Epoch: 5600/30000, Loss: 0.0000\n",
      "Epoch: 5610/30000, Loss: 0.0000\n",
      "Epoch: 5620/30000, Loss: 0.0003\n",
      "Epoch: 5630/30000, Loss: 0.0001\n",
      "Epoch: 5640/30000, Loss: 0.0000\n",
      "Epoch: 5650/30000, Loss: 0.0000\n",
      "Epoch: 5660/30000, Loss: 0.0000\n",
      "Epoch: 5670/30000, Loss: 0.0003\n",
      "Epoch: 5680/30000, Loss: 0.0001\n",
      "Epoch: 5690/30000, Loss: 0.0000\n",
      "Epoch: 5700/30000, Loss: 0.0000\n",
      "Epoch: 5710/30000, Loss: 0.0002\n",
      "Epoch: 5720/30000, Loss: 0.0001\n",
      "Epoch: 5730/30000, Loss: 0.0001\n",
      "Epoch: 5740/30000, Loss: 0.0000\n",
      "Epoch: 5750/30000, Loss: 0.0000\n",
      "Epoch: 5760/30000, Loss: 0.0000\n",
      "Epoch: 5770/30000, Loss: 0.0000\n",
      "Epoch: 5780/30000, Loss: 0.0006\n",
      "Epoch: 5790/30000, Loss: 0.0002\n",
      "Epoch: 5800/30000, Loss: 0.0002\n",
      "Epoch: 5810/30000, Loss: 0.0001\n",
      "Epoch: 5820/30000, Loss: 0.0001\n",
      "Epoch: 5830/30000, Loss: 0.0000\n",
      "Epoch: 5840/30000, Loss: 0.0000\n",
      "Epoch: 5850/30000, Loss: 0.0000\n",
      "Epoch: 5860/30000, Loss: 0.0000\n",
      "Epoch: 5870/30000, Loss: 0.0000\n",
      "Epoch: 5880/30000, Loss: 0.0001\n",
      "Epoch: 5890/30000, Loss: 0.0000\n",
      "Epoch: 5900/30000, Loss: 0.0000\n",
      "Epoch: 5910/30000, Loss: 0.0000\n",
      "Epoch: 5920/30000, Loss: 0.0000\n",
      "Epoch: 5930/30000, Loss: 0.0000\n",
      "Epoch: 5940/30000, Loss: 0.0001\n",
      "Epoch: 5950/30000, Loss: 0.0002\n",
      "Epoch: 5960/30000, Loss: 0.0001\n",
      "Epoch: 5970/30000, Loss: 0.0001\n",
      "Epoch: 5980/30000, Loss: 0.0000\n",
      "Epoch: 5990/30000, Loss: 0.0000\n",
      "Epoch: 6000/30000, Loss: 0.0000\n",
      "Epoch: 6010/30000, Loss: 0.0004\n",
      "Epoch: 6020/30000, Loss: 0.0002\n",
      "Epoch: 6030/30000, Loss: 0.0001\n",
      "Epoch: 6040/30000, Loss: 0.0001\n",
      "Epoch: 6050/30000, Loss: 0.0000\n",
      "Epoch: 6060/30000, Loss: 0.0000\n",
      "Epoch: 6070/30000, Loss: 0.0000\n",
      "Epoch: 6080/30000, Loss: 0.0000\n",
      "Epoch: 6090/30000, Loss: 0.0001\n",
      "Epoch: 6100/30000, Loss: 0.0003\n",
      "Epoch: 6110/30000, Loss: 0.0001\n",
      "Epoch: 6120/30000, Loss: 0.0000\n",
      "Epoch: 6130/30000, Loss: 0.0000\n",
      "Epoch: 6140/30000, Loss: 0.0000\n",
      "Epoch: 6150/30000, Loss: 0.0000\n",
      "Epoch: 6160/30000, Loss: 0.0000\n",
      "Epoch: 6170/30000, Loss: 0.0002\n",
      "Epoch: 6180/30000, Loss: 0.0001\n",
      "Epoch: 6190/30000, Loss: 0.0000\n",
      "Epoch: 6200/30000, Loss: 0.0000\n",
      "Epoch: 6210/30000, Loss: 0.0000\n",
      "Epoch: 6220/30000, Loss: 0.0004\n",
      "Epoch: 6230/30000, Loss: 0.0006\n",
      "Epoch: 6240/30000, Loss: 0.0001\n",
      "Epoch: 6250/30000, Loss: 0.0000\n",
      "Epoch: 6260/30000, Loss: 0.0000\n",
      "Epoch: 6270/30000, Loss: 0.0000\n",
      "Epoch: 6280/30000, Loss: 0.0000\n",
      "Epoch: 6290/30000, Loss: 0.0003\n",
      "Epoch: 6300/30000, Loss: 0.0001\n",
      "Epoch: 6310/30000, Loss: 0.0000\n",
      "Epoch: 6320/30000, Loss: 0.0000\n",
      "Epoch: 6330/30000, Loss: 0.0000\n",
      "Epoch: 6340/30000, Loss: 0.0000\n",
      "Epoch: 6350/30000, Loss: 0.0004\n",
      "Epoch: 6360/30000, Loss: 0.0001\n",
      "Epoch: 6370/30000, Loss: 0.0001\n",
      "Epoch: 6380/30000, Loss: 0.0001\n",
      "Epoch: 6390/30000, Loss: 0.0001\n",
      "Epoch: 6400/30000, Loss: 0.0000\n",
      "Epoch: 6410/30000, Loss: 0.0001\n",
      "Epoch: 6420/30000, Loss: 0.0002\n",
      "Epoch: 6430/30000, Loss: 0.0001\n",
      "Epoch: 6440/30000, Loss: 0.0000\n",
      "Epoch: 6450/30000, Loss: 0.0000\n",
      "Epoch: 6460/30000, Loss: 0.0001\n",
      "Epoch: 6470/30000, Loss: 0.0001\n",
      "Epoch: 6480/30000, Loss: 0.0000\n",
      "Epoch: 6490/30000, Loss: 0.0001\n",
      "Epoch: 6500/30000, Loss: 0.0001\n",
      "Epoch: 6510/30000, Loss: 0.0001\n",
      "Epoch: 6520/30000, Loss: 0.0004\n",
      "Epoch: 6530/30000, Loss: 0.0001\n",
      "Epoch: 6540/30000, Loss: 0.0000\n",
      "Epoch: 6550/30000, Loss: 0.0000\n",
      "Epoch: 6560/30000, Loss: 0.0000\n",
      "Epoch: 6570/30000, Loss: 0.0000\n",
      "Epoch: 6580/30000, Loss: 0.0005\n",
      "Epoch: 6590/30000, Loss: 0.0004\n",
      "Epoch: 6600/30000, Loss: 0.0001\n",
      "Epoch: 6610/30000, Loss: 0.0001\n",
      "Epoch: 6620/30000, Loss: 0.0000\n",
      "Epoch: 6630/30000, Loss: 0.0000\n",
      "Epoch: 6640/30000, Loss: 0.0003\n",
      "Epoch: 6650/30000, Loss: 0.0001\n",
      "Epoch: 6660/30000, Loss: 0.0000\n",
      "Epoch: 6670/30000, Loss: 0.0000\n",
      "Epoch: 6680/30000, Loss: 0.0001\n",
      "Epoch: 6690/30000, Loss: 0.0000\n",
      "Epoch: 6700/30000, Loss: 0.0000\n",
      "Epoch: 6710/30000, Loss: 0.0000\n",
      "Epoch: 6720/30000, Loss: 0.0000\n",
      "Epoch: 6730/30000, Loss: 0.0001\n",
      "Epoch: 6740/30000, Loss: 0.0001\n",
      "Epoch: 6750/30000, Loss: 0.0000\n",
      "Epoch: 6760/30000, Loss: 0.0000\n",
      "Epoch: 6770/30000, Loss: 0.0000\n",
      "Epoch: 6780/30000, Loss: 0.0004\n",
      "Epoch: 6790/30000, Loss: 0.0002\n",
      "Epoch: 6800/30000, Loss: 0.0000\n",
      "Epoch: 6810/30000, Loss: 0.0000\n",
      "Epoch: 6820/30000, Loss: 0.0000\n",
      "Epoch: 6830/30000, Loss: 0.0000\n",
      "Epoch: 6840/30000, Loss: 0.0001\n",
      "Epoch: 6850/30000, Loss: 0.0001\n",
      "Epoch: 6860/30000, Loss: 0.0000\n",
      "Epoch: 6870/30000, Loss: 0.0000\n",
      "Epoch: 6880/30000, Loss: 0.0000\n",
      "Epoch: 6890/30000, Loss: 0.0003\n",
      "Epoch: 6900/30000, Loss: 0.0001\n",
      "Epoch: 6910/30000, Loss: 0.0000\n",
      "Epoch: 6920/30000, Loss: 0.0001\n",
      "Epoch: 6930/30000, Loss: 0.0001\n",
      "Epoch: 6940/30000, Loss: 0.0002\n",
      "Epoch: 6950/30000, Loss: 0.0002\n",
      "Epoch: 6960/30000, Loss: 0.0001\n",
      "Epoch: 6970/30000, Loss: 0.0000\n",
      "Epoch: 6980/30000, Loss: 0.0000\n",
      "Epoch: 6990/30000, Loss: 0.0000\n",
      "Epoch: 7000/30000, Loss: 0.0000\n",
      "Epoch: 7010/30000, Loss: 0.0004\n",
      "Epoch: 7020/30000, Loss: 0.0001\n",
      "Epoch: 7030/30000, Loss: 0.0001\n",
      "Epoch: 7040/30000, Loss: 0.0000\n",
      "Epoch: 7050/30000, Loss: 0.0000\n",
      "Epoch: 7060/30000, Loss: 0.0003\n",
      "Epoch: 7070/30000, Loss: 0.0001\n",
      "Epoch: 7080/30000, Loss: 0.0000\n",
      "Epoch: 7090/30000, Loss: 0.0000\n",
      "Epoch: 7100/30000, Loss: 0.0001\n",
      "Epoch: 7110/30000, Loss: 0.0002\n",
      "Epoch: 7120/30000, Loss: 0.0003\n",
      "Epoch: 7130/30000, Loss: 0.0001\n",
      "Epoch: 7140/30000, Loss: 0.0000\n",
      "Epoch: 7150/30000, Loss: 0.0000\n",
      "Epoch: 7160/30000, Loss: 0.0000\n",
      "Epoch: 7170/30000, Loss: 0.0002\n",
      "Epoch: 7180/30000, Loss: 0.0001\n",
      "Epoch: 7190/30000, Loss: 0.0000\n",
      "Epoch: 7200/30000, Loss: 0.0000\n",
      "Epoch: 7210/30000, Loss: 0.0000\n",
      "Epoch: 7220/30000, Loss: 0.0000\n",
      "Epoch: 7230/30000, Loss: 0.0002\n",
      "Epoch: 7240/30000, Loss: 0.0000\n",
      "Epoch: 7250/30000, Loss: 0.0000\n",
      "Epoch: 7260/30000, Loss: 0.0000\n",
      "Epoch: 7270/30000, Loss: 0.0000\n",
      "Epoch: 7280/30000, Loss: 0.0000\n",
      "Epoch: 7290/30000, Loss: 0.0000\n",
      "Epoch: 7300/30000, Loss: 0.0000\n",
      "Epoch: 7310/30000, Loss: 0.0004\n",
      "Epoch: 7320/30000, Loss: 0.0002\n",
      "Epoch: 7330/30000, Loss: 0.0001\n",
      "Epoch: 7340/30000, Loss: 0.0000\n",
      "Epoch: 7350/30000, Loss: 0.0000\n",
      "Epoch: 7360/30000, Loss: 0.0000\n",
      "Epoch: 7370/30000, Loss: 0.0003\n",
      "Epoch: 7380/30000, Loss: 0.0001\n",
      "Epoch: 7390/30000, Loss: 0.0000\n",
      "Epoch: 7400/30000, Loss: 0.0000\n",
      "Epoch: 7410/30000, Loss: 0.0001\n",
      "Epoch: 7420/30000, Loss: 0.0001\n",
      "Epoch: 7430/30000, Loss: 0.0001\n",
      "Epoch: 7440/30000, Loss: 0.0000\n",
      "Epoch: 7450/30000, Loss: 0.0001\n",
      "Epoch: 7460/30000, Loss: 0.0000\n",
      "Epoch: 7470/30000, Loss: 0.0000\n",
      "Epoch: 7480/30000, Loss: 0.0000\n",
      "Epoch: 7490/30000, Loss: 0.0000\n",
      "Epoch: 7500/30000, Loss: 0.0003\n",
      "Epoch: 7510/30000, Loss: 0.0001\n",
      "Epoch: 7520/30000, Loss: 0.0001\n",
      "Epoch: 7530/30000, Loss: 0.0000\n",
      "Epoch: 7540/30000, Loss: 0.0000\n",
      "Epoch: 7550/30000, Loss: 0.0007\n",
      "Epoch: 7560/30000, Loss: 0.0117\n",
      "Epoch: 7570/30000, Loss: 0.0041\n",
      "Epoch: 7580/30000, Loss: 0.0016\n",
      "Epoch: 7590/30000, Loss: 0.0006\n",
      "Epoch: 7600/30000, Loss: 0.0003\n",
      "Epoch: 7610/30000, Loss: 0.0001\n",
      "Epoch: 7620/30000, Loss: 0.0001\n",
      "Epoch: 7630/30000, Loss: 0.0001\n",
      "Epoch: 7640/30000, Loss: 0.0000\n",
      "Epoch: 7650/30000, Loss: 0.0000\n",
      "Epoch: 7660/30000, Loss: 0.0000\n",
      "Epoch: 7670/30000, Loss: 0.0000\n",
      "Epoch: 7680/30000, Loss: 0.0000\n",
      "Epoch: 7690/30000, Loss: 0.0000\n",
      "Epoch: 7700/30000, Loss: 0.0000\n",
      "Epoch: 7710/30000, Loss: 0.0000\n",
      "Epoch: 7720/30000, Loss: 0.0000\n",
      "Epoch: 7730/30000, Loss: 0.0000\n",
      "Epoch: 7740/30000, Loss: 0.0000\n",
      "Epoch: 7750/30000, Loss: 0.0000\n",
      "Epoch: 7760/30000, Loss: 0.0000\n",
      "Epoch: 7770/30000, Loss: 0.0000\n",
      "Epoch: 7780/30000, Loss: 0.0000\n",
      "Epoch: 7790/30000, Loss: 0.0000\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 7800/30000, Loss: 0.0000\n",
      "Epoch: 7810/30000, Loss: 0.0000\n",
      "Epoch: 7820/30000, Loss: 0.0000\n",
      "Epoch: 7830/30000, Loss: 0.0000\n",
      "Epoch: 7840/30000, Loss: 0.0000\n",
      "Epoch: 7850/30000, Loss: 0.0000\n",
      "Epoch: 7860/30000, Loss: 0.0001\n",
      "Epoch: 7870/30000, Loss: 0.0000\n",
      "Epoch: 7880/30000, Loss: 0.0000\n",
      "Epoch: 7890/30000, Loss: 0.0000\n",
      "Epoch: 7900/30000, Loss: 0.0000\n",
      "Epoch: 7910/30000, Loss: 0.0000\n",
      "Epoch: 7920/30000, Loss: 0.0000\n",
      "Epoch: 7930/30000, Loss: 0.0000\n",
      "Epoch: 7940/30000, Loss: 0.0000\n",
      "Epoch: 7950/30000, Loss: 0.0000\n",
      "Epoch: 7960/30000, Loss: 0.0000\n",
      "Epoch: 7970/30000, Loss: 0.0000\n",
      "Epoch: 7980/30000, Loss: 0.0000\n",
      "Epoch: 7990/30000, Loss: 0.0000\n",
      "Epoch: 8000/30000, Loss: 0.0004\n",
      "Epoch: 8010/30000, Loss: 0.0000\n",
      "Epoch: 8020/30000, Loss: 0.0000\n",
      "Epoch: 8030/30000, Loss: 0.0000\n",
      "Epoch: 8040/30000, Loss: 0.0000\n",
      "Epoch: 8050/30000, Loss: 0.0000\n",
      "Epoch: 8060/30000, Loss: 0.0000\n",
      "Epoch: 8070/30000, Loss: 0.0000\n",
      "Epoch: 8080/30000, Loss: 0.0000\n",
      "Epoch: 8090/30000, Loss: 0.0000\n",
      "Epoch: 8100/30000, Loss: 0.0000\n",
      "Epoch: 8110/30000, Loss: 0.0000\n",
      "Epoch: 8120/30000, Loss: 0.0000\n",
      "Epoch: 8130/30000, Loss: 0.0000\n",
      "Epoch: 8140/30000, Loss: 0.0000\n",
      "Epoch: 8150/30000, Loss: 0.0000\n",
      "Epoch: 8160/30000, Loss: 0.0000\n",
      "Epoch: 8170/30000, Loss: 0.0003\n",
      "Epoch: 8180/30000, Loss: 0.0000\n",
      "Epoch: 8190/30000, Loss: 0.0000\n",
      "Epoch: 8200/30000, Loss: 0.0000\n",
      "Epoch: 8210/30000, Loss: 0.0000\n",
      "Epoch: 8220/30000, Loss: 0.0000\n",
      "Epoch: 8230/30000, Loss: 0.0000\n",
      "Epoch: 8240/30000, Loss: 0.0000\n",
      "Epoch: 8250/30000, Loss: 0.0000\n",
      "Epoch: 8260/30000, Loss: 0.0000\n",
      "Epoch: 8270/30000, Loss: 0.0001\n",
      "Epoch: 8280/30000, Loss: 0.0000\n",
      "Epoch: 8290/30000, Loss: 0.0000\n",
      "Epoch: 8300/30000, Loss: 0.0000\n",
      "Epoch: 8310/30000, Loss: 0.0000\n",
      "Epoch: 8320/30000, Loss: 0.0000\n",
      "Epoch: 8330/30000, Loss: 0.0000\n",
      "Epoch: 8340/30000, Loss: 0.0000\n",
      "Epoch: 8350/30000, Loss: 0.0002\n",
      "Epoch: 8360/30000, Loss: 0.0001\n",
      "Epoch: 8370/30000, Loss: 0.0001\n",
      "Epoch: 8380/30000, Loss: 0.0000\n",
      "Epoch: 8390/30000, Loss: 0.0000\n",
      "Epoch: 8400/30000, Loss: 0.0000\n",
      "Epoch: 8410/30000, Loss: 0.0000\n",
      "Epoch: 8420/30000, Loss: 0.0000\n",
      "Epoch: 8430/30000, Loss: 0.0000\n",
      "Epoch: 8440/30000, Loss: 0.0002\n",
      "Epoch: 8450/30000, Loss: 0.0001\n",
      "Epoch: 8460/30000, Loss: 0.0000\n",
      "Epoch: 8470/30000, Loss: 0.0000\n",
      "Epoch: 8480/30000, Loss: 0.0000\n",
      "Epoch: 8490/30000, Loss: 0.0002\n",
      "Epoch: 8500/30000, Loss: 0.0001\n",
      "Epoch: 8510/30000, Loss: 0.0000\n",
      "Epoch: 8520/30000, Loss: 0.0000\n",
      "Epoch: 8530/30000, Loss: 0.0000\n",
      "Epoch: 8540/30000, Loss: 0.0001\n",
      "Epoch: 8550/30000, Loss: 0.0000\n",
      "Epoch: 8560/30000, Loss: 0.0000\n",
      "Epoch: 8570/30000, Loss: 0.0000\n",
      "Epoch: 8580/30000, Loss: 0.0000\n",
      "Epoch: 8590/30000, Loss: 0.0000\n",
      "Epoch: 8600/30000, Loss: 0.0000\n",
      "Epoch: 8610/30000, Loss: 0.0000\n",
      "Epoch: 8620/30000, Loss: 0.0005\n",
      "Epoch: 8630/30000, Loss: 0.0001\n",
      "Epoch: 8640/30000, Loss: 0.0000\n",
      "Epoch: 8650/30000, Loss: 0.0000\n",
      "Epoch: 8660/30000, Loss: 0.0000\n",
      "Epoch: 8670/30000, Loss: 0.0000\n",
      "Epoch: 8680/30000, Loss: 0.0000\n",
      "Epoch: 8690/30000, Loss: 0.0001\n",
      "Epoch: 8700/30000, Loss: 0.0001\n",
      "Epoch: 8710/30000, Loss: 0.0000\n",
      "Epoch: 8720/30000, Loss: 0.0000\n",
      "Epoch: 8730/30000, Loss: 0.0000\n",
      "Epoch: 8740/30000, Loss: 0.0000\n",
      "Epoch: 8750/30000, Loss: 0.0000\n",
      "Epoch: 8760/30000, Loss: 0.0000\n",
      "Epoch: 8770/30000, Loss: 0.0001\n",
      "Epoch: 8780/30000, Loss: 0.0000\n",
      "Epoch: 8790/30000, Loss: 0.0000\n",
      "Epoch: 8800/30000, Loss: 0.0000\n",
      "Epoch: 8810/30000, Loss: 0.0000\n",
      "Epoch: 8820/30000, Loss: 0.0002\n",
      "Epoch: 8830/30000, Loss: 0.0001\n",
      "Epoch: 8840/30000, Loss: 0.0000\n",
      "Epoch: 8850/30000, Loss: 0.0000\n",
      "Epoch: 8860/30000, Loss: 0.0000\n",
      "Epoch: 8870/30000, Loss: 0.0000\n",
      "Epoch: 8880/30000, Loss: 0.0000\n",
      "Epoch: 8890/30000, Loss: 0.0000\n",
      "Epoch: 8900/30000, Loss: 0.0003\n",
      "Epoch: 8910/30000, Loss: 0.0001\n",
      "Epoch: 8920/30000, Loss: 0.0000\n",
      "Epoch: 8930/30000, Loss: 0.0000\n",
      "Epoch: 8940/30000, Loss: 0.0000\n",
      "Epoch: 8950/30000, Loss: 0.0004\n",
      "Epoch: 8960/30000, Loss: 0.0002\n",
      "Epoch: 8970/30000, Loss: 0.0000\n",
      "Epoch: 8980/30000, Loss: 0.0000\n",
      "Epoch: 8990/30000, Loss: 0.0000\n",
      "Epoch: 9000/30000, Loss: 0.0000\n",
      "Epoch: 9010/30000, Loss: 0.0000\n",
      "Epoch: 9020/30000, Loss: 0.0002\n",
      "Epoch: 9030/30000, Loss: 0.0000\n",
      "Epoch: 9040/30000, Loss: 0.0000\n",
      "Epoch: 9050/30000, Loss: 0.0000\n",
      "Epoch: 9060/30000, Loss: 0.0000\n",
      "Epoch: 9070/30000, Loss: 0.0000\n",
      "Epoch: 9080/30000, Loss: 0.0008\n",
      "Epoch: 9090/30000, Loss: 0.0002\n",
      "Epoch: 9100/30000, Loss: 0.0000\n",
      "Epoch: 9110/30000, Loss: 0.0000\n",
      "Epoch: 9120/30000, Loss: 0.0000\n",
      "Epoch: 9130/30000, Loss: 0.0000\n",
      "Epoch: 9140/30000, Loss: 0.0000\n",
      "Epoch: 9150/30000, Loss: 0.0000\n",
      "Epoch: 9160/30000, Loss: 0.0003\n",
      "Epoch: 9170/30000, Loss: 0.0001\n",
      "Epoch: 9180/30000, Loss: 0.0000\n",
      "Epoch: 9190/30000, Loss: 0.0000\n",
      "Epoch: 9200/30000, Loss: 0.0000\n",
      "Epoch: 9210/30000, Loss: 0.0000\n",
      "Epoch: 9220/30000, Loss: 0.0000\n",
      "Epoch: 9230/30000, Loss: 0.0002\n",
      "Epoch: 9240/30000, Loss: 0.0001\n",
      "Epoch: 9250/30000, Loss: 0.0001\n",
      "Epoch: 9260/30000, Loss: 0.0000\n",
      "Epoch: 9270/30000, Loss: 0.0000\n",
      "Epoch: 9280/30000, Loss: 0.0000\n",
      "Epoch: 9290/30000, Loss: 0.0003\n",
      "Epoch: 9300/30000, Loss: 0.0002\n",
      "Epoch: 9310/30000, Loss: 0.0001\n",
      "Epoch: 9320/30000, Loss: 0.0000\n",
      "Epoch: 9330/30000, Loss: 0.0000\n",
      "Epoch: 9340/30000, Loss: 0.0000\n",
      "Epoch: 9350/30000, Loss: 0.0000\n",
      "Epoch: 9360/30000, Loss: 0.0003\n",
      "Epoch: 9370/30000, Loss: 0.0001\n",
      "Epoch: 9380/30000, Loss: 0.0000\n",
      "Epoch: 9390/30000, Loss: 0.0000\n",
      "Epoch: 9400/30000, Loss: 0.0000\n",
      "Epoch: 9410/30000, Loss: 0.0000\n",
      "Epoch: 9420/30000, Loss: 0.0001\n",
      "Epoch: 9430/30000, Loss: 0.0004\n",
      "Epoch: 9440/30000, Loss: 0.0002\n",
      "Epoch: 9450/30000, Loss: 0.0000\n",
      "Epoch: 9460/30000, Loss: 0.0000\n",
      "Epoch: 9470/30000, Loss: 0.0000\n",
      "Epoch: 9480/30000, Loss: 0.0000\n",
      "Epoch: 9490/30000, Loss: 0.0000\n",
      "Epoch: 9500/30000, Loss: 0.0002\n",
      "Epoch: 9510/30000, Loss: 0.0000\n",
      "Epoch: 9520/30000, Loss: 0.0000\n",
      "Epoch: 9530/30000, Loss: 0.0000\n",
      "Epoch: 9540/30000, Loss: 0.0001\n",
      "Epoch: 9550/30000, Loss: 0.0005\n",
      "Epoch: 9560/30000, Loss: 0.0001\n",
      "Epoch: 9570/30000, Loss: 0.0001\n",
      "Epoch: 9580/30000, Loss: 0.0000\n",
      "Epoch: 9590/30000, Loss: 0.0000\n",
      "Epoch: 9600/30000, Loss: 0.0000\n",
      "Epoch: 9610/30000, Loss: 0.0001\n",
      "Epoch: 9620/30000, Loss: 0.0000\n",
      "Epoch: 9630/30000, Loss: 0.0000\n",
      "Epoch: 9640/30000, Loss: 0.0000\n",
      "Epoch: 9650/30000, Loss: 0.0003\n",
      "Epoch: 9660/30000, Loss: 0.0001\n",
      "Epoch: 9670/30000, Loss: 0.0000\n",
      "Epoch: 9680/30000, Loss: 0.0000\n",
      "Epoch: 9690/30000, Loss: 0.0000\n",
      "Epoch: 9700/30000, Loss: 0.0002\n",
      "Epoch: 9710/30000, Loss: 0.0000\n",
      "Epoch: 9720/30000, Loss: 0.0000\n",
      "Epoch: 9730/30000, Loss: 0.0002\n",
      "Epoch: 9740/30000, Loss: 0.0000\n",
      "Epoch: 9750/30000, Loss: 0.0000\n",
      "Epoch: 9760/30000, Loss: 0.0001\n",
      "Epoch: 9770/30000, Loss: 0.0000\n",
      "Epoch: 9780/30000, Loss: 0.0000\n",
      "Epoch: 9790/30000, Loss: 0.0000\n",
      "Epoch: 9800/30000, Loss: 0.0001\n",
      "Epoch: 9810/30000, Loss: 0.0001\n",
      "Epoch: 9820/30000, Loss: 0.0001\n",
      "Epoch: 9830/30000, Loss: 0.0000\n",
      "Epoch: 9840/30000, Loss: 0.0000\n",
      "Epoch: 9850/30000, Loss: 0.0000\n",
      "Epoch: 9860/30000, Loss: 0.0000\n",
      "Epoch: 9870/30000, Loss: 0.0002\n",
      "Epoch: 9880/30000, Loss: 0.0000\n",
      "Epoch: 9890/30000, Loss: 0.0000\n",
      "Epoch: 9900/30000, Loss: 0.0000\n",
      "Epoch: 9910/30000, Loss: 0.0000\n",
      "Epoch: 9920/30000, Loss: 0.0005\n",
      "Epoch: 9930/30000, Loss: 0.0001\n",
      "Epoch: 9940/30000, Loss: 0.0000\n",
      "Epoch: 9950/30000, Loss: 0.0000\n",
      "Epoch: 9960/30000, Loss: 0.0001\n",
      "Epoch: 9970/30000, Loss: 0.0002\n",
      "Epoch: 9980/30000, Loss: 0.0001\n",
      "Epoch: 9990/30000, Loss: 0.0000\n",
      "Epoch: 10000/30000, Loss: 0.0000\n",
      "Epoch: 10010/30000, Loss: 0.0000\n",
      "Epoch: 10020/30000, Loss: 0.0001\n",
      "Epoch: 10030/30000, Loss: 0.0002\n",
      "Epoch: 10040/30000, Loss: 0.0001\n",
      "Epoch: 10050/30000, Loss: 0.0000\n",
      "Epoch: 10060/30000, Loss: 0.0000\n",
      "Epoch: 10070/30000, Loss: 0.0002\n",
      "Epoch: 10080/30000, Loss: 0.0001\n",
      "Epoch: 10090/30000, Loss: 0.0000\n",
      "Epoch: 10100/30000, Loss: 0.0000\n",
      "Epoch: 10110/30000, Loss: 0.0000\n",
      "Epoch: 10120/30000, Loss: 0.0001\n",
      "Epoch: 10130/30000, Loss: 0.0001\n",
      "Epoch: 10140/30000, Loss: 0.0002\n",
      "Epoch: 10150/30000, Loss: 0.0001\n",
      "Epoch: 10160/30000, Loss: 0.0000\n",
      "Epoch: 10170/30000, Loss: 0.0000\n",
      "Epoch: 10180/30000, Loss: 0.0001\n",
      "Epoch: 10190/30000, Loss: 0.0000\n",
      "Epoch: 10200/30000, Loss: 0.0000\n",
      "Epoch: 10210/30000, Loss: 0.0000\n",
      "Epoch: 10220/30000, Loss: 0.0004\n",
      "Epoch: 10230/30000, Loss: 0.0001\n",
      "Epoch: 10240/30000, Loss: 0.0001\n",
      "Epoch: 10250/30000, Loss: 0.0000\n",
      "Epoch: 10260/30000, Loss: 0.0000\n",
      "Epoch: 10270/30000, Loss: 0.0001\n",
      "Epoch: 10280/30000, Loss: 0.0002\n",
      "Epoch: 10290/30000, Loss: 0.0001\n",
      "Epoch: 10300/30000, Loss: 0.0000\n",
      "Epoch: 10310/30000, Loss: 0.0000\n",
      "Epoch: 10320/30000, Loss: 0.0000\n",
      "Epoch: 10330/30000, Loss: 0.0002\n",
      "Epoch: 10340/30000, Loss: 0.0001\n",
      "Epoch: 10350/30000, Loss: 0.0000\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 10360/30000, Loss: 0.0000\n",
      "Epoch: 10370/30000, Loss: 0.0000\n",
      "Epoch: 10380/30000, Loss: 0.0001\n",
      "Epoch: 10390/30000, Loss: 0.0000\n",
      "Epoch: 10400/30000, Loss: 0.0000\n",
      "Epoch: 10410/30000, Loss: 0.0001\n",
      "Epoch: 10420/30000, Loss: 0.0005\n",
      "Epoch: 10430/30000, Loss: 0.0001\n",
      "Epoch: 10440/30000, Loss: 0.0000\n",
      "Epoch: 10450/30000, Loss: 0.0000\n",
      "Epoch: 10460/30000, Loss: 0.0000\n",
      "Epoch: 10470/30000, Loss: 0.0001\n",
      "Epoch: 10480/30000, Loss: 0.0001\n",
      "Epoch: 10490/30000, Loss: 0.0000\n",
      "Epoch: 10500/30000, Loss: 0.0000\n",
      "Epoch: 10510/30000, Loss: 0.0001\n",
      "Epoch: 10520/30000, Loss: 0.0001\n",
      "Epoch: 10530/30000, Loss: 0.0001\n",
      "Epoch: 10540/30000, Loss: 0.0001\n",
      "Epoch: 10550/30000, Loss: 0.0001\n",
      "Epoch: 10560/30000, Loss: 0.0002\n",
      "Epoch: 10570/30000, Loss: 0.0001\n",
      "Epoch: 10580/30000, Loss: 0.0000\n",
      "Epoch: 10590/30000, Loss: 0.0000\n",
      "Epoch: 10600/30000, Loss: 0.0001\n",
      "Epoch: 10610/30000, Loss: 0.0001\n",
      "Epoch: 10620/30000, Loss: 0.0000\n",
      "Epoch: 10630/30000, Loss: 0.0000\n",
      "Epoch: 10640/30000, Loss: 0.0000\n",
      "Epoch: 10650/30000, Loss: 0.0003\n",
      "Epoch: 10660/30000, Loss: 0.0001\n",
      "Epoch: 10670/30000, Loss: 0.0000\n",
      "Epoch: 10680/30000, Loss: 0.0000\n",
      "Epoch: 10690/30000, Loss: 0.0000\n",
      "Epoch: 10700/30000, Loss: 0.0000\n",
      "Epoch: 10710/30000, Loss: 0.0001\n",
      "Epoch: 10720/30000, Loss: 0.0002\n",
      "Epoch: 10730/30000, Loss: 0.0001\n",
      "Epoch: 10740/30000, Loss: 0.0001\n",
      "Epoch: 10750/30000, Loss: 0.0000\n",
      "Epoch: 10760/30000, Loss: 0.0001\n",
      "Epoch: 10770/30000, Loss: 0.0000\n",
      "Epoch: 10780/30000, Loss: 0.0000\n",
      "Epoch: 10790/30000, Loss: 0.0000\n",
      "Epoch: 10800/30000, Loss: 0.0001\n",
      "Epoch: 10810/30000, Loss: 0.0002\n",
      "Epoch: 10820/30000, Loss: 0.0001\n",
      "Epoch: 10830/30000, Loss: 0.0000\n",
      "Epoch: 10840/30000, Loss: 0.0000\n",
      "Epoch: 10850/30000, Loss: 0.0000\n",
      "Epoch: 10860/30000, Loss: 0.0001\n",
      "Epoch: 10870/30000, Loss: 0.0002\n",
      "Epoch: 10880/30000, Loss: 0.0001\n",
      "Epoch: 10890/30000, Loss: 0.0001\n",
      "Epoch: 10900/30000, Loss: 0.0000\n",
      "Epoch: 10910/30000, Loss: 0.0000\n",
      "Epoch: 10920/30000, Loss: 0.0000\n",
      "Epoch: 10930/30000, Loss: 0.0002\n",
      "Epoch: 10940/30000, Loss: 0.0003\n",
      "Epoch: 10950/30000, Loss: 0.0001\n",
      "Epoch: 10960/30000, Loss: 0.0000\n",
      "Epoch: 10970/30000, Loss: 0.0001\n",
      "Epoch: 10980/30000, Loss: 0.0000\n",
      "Epoch: 10990/30000, Loss: 0.0000\n",
      "Epoch: 11000/30000, Loss: 0.0000\n",
      "Epoch: 11010/30000, Loss: 0.0001\n",
      "Epoch: 11020/30000, Loss: 0.0005\n",
      "Epoch: 11030/30000, Loss: 0.0003\n",
      "Epoch: 11040/30000, Loss: 0.0001\n",
      "Epoch: 11050/30000, Loss: 0.0000\n",
      "Epoch: 11060/30000, Loss: 0.0000\n",
      "Epoch: 11070/30000, Loss: 0.0000\n",
      "Epoch: 11080/30000, Loss: 0.0000\n",
      "Epoch: 11090/30000, Loss: 0.0000\n",
      "Epoch: 11100/30000, Loss: 0.0001\n",
      "Epoch: 11110/30000, Loss: 0.0001\n",
      "Epoch: 11120/30000, Loss: 0.0001\n",
      "Epoch: 11130/30000, Loss: 0.0000\n",
      "Epoch: 11140/30000, Loss: 0.0000\n",
      "Epoch: 11150/30000, Loss: 0.0000\n",
      "Epoch: 11160/30000, Loss: 0.0000\n",
      "Epoch: 11170/30000, Loss: 0.0001\n",
      "Epoch: 11180/30000, Loss: 0.0001\n",
      "Epoch: 11190/30000, Loss: 0.0001\n",
      "Epoch: 11200/30000, Loss: 0.0001\n",
      "Epoch: 11210/30000, Loss: 0.0000\n",
      "Epoch: 11220/30000, Loss: 0.0000\n",
      "Epoch: 11230/30000, Loss: 0.0002\n",
      "Epoch: 11240/30000, Loss: 0.0001\n",
      "Epoch: 11250/30000, Loss: 0.0000\n",
      "Epoch: 11260/30000, Loss: 0.0000\n",
      "Epoch: 11270/30000, Loss: 0.0000\n",
      "Epoch: 11280/30000, Loss: 0.0001\n",
      "Epoch: 11290/30000, Loss: 0.0001\n",
      "Epoch: 11300/30000, Loss: 0.0003\n",
      "Epoch: 11310/30000, Loss: 0.0001\n",
      "Epoch: 11320/30000, Loss: 0.0001\n",
      "Epoch: 11330/30000, Loss: 0.0000\n",
      "Epoch: 11340/30000, Loss: 0.0000\n",
      "Epoch: 11350/30000, Loss: 0.0001\n",
      "Epoch: 11360/30000, Loss: 0.0001\n",
      "Epoch: 11370/30000, Loss: 0.0000\n",
      "Epoch: 11380/30000, Loss: 0.0000\n",
      "Epoch: 11390/30000, Loss: 0.0002\n",
      "Epoch: 11400/30000, Loss: 0.0001\n",
      "Epoch: 11410/30000, Loss: 0.0001\n",
      "Epoch: 11420/30000, Loss: 0.0000\n",
      "Epoch: 11430/30000, Loss: 0.0000\n",
      "Epoch: 11440/30000, Loss: 0.0001\n",
      "Epoch: 11450/30000, Loss: 0.0001\n",
      "Epoch: 11460/30000, Loss: 0.0001\n",
      "Epoch: 11470/30000, Loss: 0.0001\n",
      "Epoch: 11480/30000, Loss: 0.0001\n",
      "Epoch: 11490/30000, Loss: 0.0000\n",
      "Epoch: 11500/30000, Loss: 0.0000\n",
      "Epoch: 11510/30000, Loss: 0.0001\n",
      "Epoch: 11520/30000, Loss: 0.0001\n",
      "Epoch: 11530/30000, Loss: 0.0002\n",
      "Epoch: 11540/30000, Loss: 0.0000\n",
      "Epoch: 11550/30000, Loss: 0.0000\n",
      "Epoch: 11560/30000, Loss: 0.0001\n",
      "Epoch: 11570/30000, Loss: 0.0001\n",
      "Epoch: 11580/30000, Loss: 0.0001\n",
      "Epoch: 11590/30000, Loss: 0.0000\n",
      "Epoch: 11600/30000, Loss: 0.0002\n",
      "Epoch: 11610/30000, Loss: 0.0001\n",
      "Epoch: 11620/30000, Loss: 0.0000\n",
      "Epoch: 11630/30000, Loss: 0.0000\n",
      "Epoch: 11640/30000, Loss: 0.0002\n",
      "Epoch: 11650/30000, Loss: 0.0001\n",
      "Epoch: 11660/30000, Loss: 0.0000\n",
      "Epoch: 11670/30000, Loss: 0.0000\n",
      "Epoch: 11680/30000, Loss: 0.0000\n",
      "Epoch: 11690/30000, Loss: 0.0001\n",
      "Epoch: 11700/30000, Loss: 0.0001\n",
      "Epoch: 11710/30000, Loss: 0.0002\n",
      "Epoch: 11720/30000, Loss: 0.0000\n",
      "Epoch: 11730/30000, Loss: 0.0000\n",
      "Epoch: 11740/30000, Loss: 0.0001\n",
      "Epoch: 11750/30000, Loss: 0.0000\n",
      "Epoch: 11760/30000, Loss: 0.0001\n",
      "Epoch: 11770/30000, Loss: 0.0002\n",
      "Epoch: 11780/30000, Loss: 0.0001\n",
      "Epoch: 11790/30000, Loss: 0.0007\n",
      "Epoch: 11800/30000, Loss: 0.0002\n",
      "Epoch: 11810/30000, Loss: 0.0001\n",
      "Epoch: 11820/30000, Loss: 0.0000\n",
      "Epoch: 11830/30000, Loss: 0.0001\n",
      "Epoch: 11840/30000, Loss: 0.0000\n",
      "Epoch: 11850/30000, Loss: 0.0000\n",
      "Epoch: 11860/30000, Loss: 0.0000\n",
      "Epoch: 11870/30000, Loss: 0.0000\n",
      "Epoch: 11880/30000, Loss: 0.0000\n",
      "Epoch: 11890/30000, Loss: 0.0000\n",
      "Epoch: 11900/30000, Loss: 0.0001\n",
      "Epoch: 11910/30000, Loss: 0.0001\n",
      "Epoch: 11920/30000, Loss: 0.0000\n",
      "Epoch: 11930/30000, Loss: 0.0000\n",
      "Epoch: 11940/30000, Loss: 0.0000\n",
      "Epoch: 11950/30000, Loss: 0.0000\n",
      "Epoch: 11960/30000, Loss: 0.0000\n",
      "Epoch: 11970/30000, Loss: 0.0001\n",
      "Epoch: 11980/30000, Loss: 0.0000\n",
      "Epoch: 11990/30000, Loss: 0.0000\n",
      "Epoch: 12000/30000, Loss: 0.0000\n",
      "Epoch: 12010/30000, Loss: 0.0002\n",
      "Epoch: 12020/30000, Loss: 0.0001\n",
      "Epoch: 12030/30000, Loss: 0.0000\n",
      "Epoch: 12040/30000, Loss: 0.0000\n",
      "Epoch: 12050/30000, Loss: 0.0000\n",
      "Epoch: 12060/30000, Loss: 0.0000\n",
      "Epoch: 12070/30000, Loss: 0.0000\n",
      "Epoch: 12080/30000, Loss: 0.0000\n",
      "Epoch: 12090/30000, Loss: 0.0003\n",
      "Epoch: 12100/30000, Loss: 0.0003\n",
      "Epoch: 12110/30000, Loss: 0.0001\n",
      "Epoch: 12120/30000, Loss: 0.0000\n",
      "Epoch: 12130/30000, Loss: 0.0000\n",
      "Epoch: 12140/30000, Loss: 0.0000\n",
      "Epoch: 12150/30000, Loss: 0.0000\n",
      "Epoch: 12160/30000, Loss: 0.0000\n",
      "Epoch: 12170/30000, Loss: 0.0000\n",
      "Epoch: 12180/30000, Loss: 0.0001\n",
      "Epoch: 12190/30000, Loss: 0.0001\n",
      "Epoch: 12200/30000, Loss: 0.0000\n",
      "Epoch: 12210/30000, Loss: 0.0000\n",
      "Epoch: 12220/30000, Loss: 0.0000\n",
      "Epoch: 12230/30000, Loss: 0.0000\n",
      "Epoch: 12240/30000, Loss: 0.0004\n",
      "Epoch: 12250/30000, Loss: 0.0003\n",
      "Epoch: 12260/30000, Loss: 0.0001\n",
      "Epoch: 12270/30000, Loss: 0.0000\n",
      "Epoch: 12280/30000, Loss: 0.0000\n",
      "Epoch: 12290/30000, Loss: 0.0000\n",
      "Epoch: 12300/30000, Loss: 0.0000\n",
      "Epoch: 12310/30000, Loss: 0.0000\n",
      "Epoch: 12320/30000, Loss: 0.0000\n",
      "Epoch: 12330/30000, Loss: 0.0000\n",
      "Epoch: 12340/30000, Loss: 0.0002\n",
      "Epoch: 12350/30000, Loss: 0.0001\n",
      "Epoch: 12360/30000, Loss: 0.0000\n",
      "Epoch: 12370/30000, Loss: 0.0000\n",
      "Epoch: 12380/30000, Loss: 0.0002\n",
      "Epoch: 12390/30000, Loss: 0.0001\n",
      "Epoch: 12400/30000, Loss: 0.0000\n",
      "Epoch: 12410/30000, Loss: 0.0000\n",
      "Epoch: 12420/30000, Loss: 0.0000\n",
      "Epoch: 12430/30000, Loss: 0.0001\n",
      "Epoch: 12440/30000, Loss: 0.0001\n",
      "Epoch: 12450/30000, Loss: 0.0001\n",
      "Epoch: 12460/30000, Loss: 0.0000\n",
      "Epoch: 12470/30000, Loss: 0.0000\n",
      "Epoch: 12480/30000, Loss: 0.0000\n",
      "Epoch: 12490/30000, Loss: 0.0000\n",
      "Epoch: 12500/30000, Loss: 0.0000\n",
      "Epoch: 12510/30000, Loss: 0.0001\n",
      "Epoch: 12520/30000, Loss: 0.0001\n",
      "Epoch: 12530/30000, Loss: 0.0001\n",
      "Epoch: 12540/30000, Loss: 0.0000\n",
      "Epoch: 12550/30000, Loss: 0.0001\n",
      "Epoch: 12560/30000, Loss: 0.0000\n",
      "Epoch: 12570/30000, Loss: 0.0005\n",
      "Epoch: 12580/30000, Loss: 0.0002\n",
      "Epoch: 12590/30000, Loss: 0.0000\n",
      "Epoch: 12600/30000, Loss: 0.0000\n",
      "Epoch: 12610/30000, Loss: 0.0000\n",
      "Epoch: 12620/30000, Loss: 0.0000\n",
      "Epoch: 12630/30000, Loss: 0.0001\n",
      "Epoch: 12640/30000, Loss: 0.0001\n",
      "Epoch: 12650/30000, Loss: 0.0000\n",
      "Epoch: 12660/30000, Loss: 0.0000\n",
      "Epoch: 12670/30000, Loss: 0.0001\n",
      "Epoch: 12680/30000, Loss: 0.0001\n",
      "Epoch: 12690/30000, Loss: 0.0000\n",
      "Epoch: 12700/30000, Loss: 0.0000\n",
      "Epoch: 12710/30000, Loss: 0.0000\n",
      "Epoch: 12720/30000, Loss: 0.0001\n",
      "Epoch: 12730/30000, Loss: 0.0001\n",
      "Epoch: 12740/30000, Loss: 0.0003\n",
      "Epoch: 12750/30000, Loss: 0.0001\n",
      "Epoch: 12760/30000, Loss: 0.0000\n",
      "Epoch: 12770/30000, Loss: 0.0000\n",
      "Epoch: 12780/30000, Loss: 0.0000\n",
      "Epoch: 12790/30000, Loss: 0.0000\n",
      "Epoch: 12800/30000, Loss: 0.0000\n",
      "Epoch: 12810/30000, Loss: 0.0001\n",
      "Epoch: 12820/30000, Loss: 0.0002\n",
      "Epoch: 12830/30000, Loss: 0.0001\n",
      "Epoch: 12840/30000, Loss: 0.0000\n",
      "Epoch: 12850/30000, Loss: 0.0003\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 12860/30000, Loss: 0.0001\n",
      "Epoch: 12870/30000, Loss: 0.0000\n",
      "Epoch: 12880/30000, Loss: 0.0000\n",
      "Epoch: 12890/30000, Loss: 0.0000\n",
      "Epoch: 12900/30000, Loss: 0.0000\n",
      "Epoch: 12910/30000, Loss: 0.0002\n",
      "Epoch: 12920/30000, Loss: 0.0001\n",
      "Epoch: 12930/30000, Loss: 0.0000\n",
      "Epoch: 12940/30000, Loss: 0.0000\n",
      "Epoch: 12950/30000, Loss: 0.0000\n",
      "Epoch: 12960/30000, Loss: 0.0001\n",
      "Epoch: 12970/30000, Loss: 0.0001\n",
      "Epoch: 12980/30000, Loss: 0.0000\n",
      "Epoch: 12990/30000, Loss: 0.0000\n",
      "Epoch: 13000/30000, Loss: 0.0003\n",
      "Epoch: 13010/30000, Loss: 0.0002\n",
      "Epoch: 13020/30000, Loss: 0.0001\n",
      "Epoch: 13030/30000, Loss: 0.0000\n",
      "Epoch: 13040/30000, Loss: 0.0000\n",
      "Epoch: 13050/30000, Loss: 0.0000\n",
      "Epoch: 13060/30000, Loss: 0.0000\n",
      "Epoch: 13070/30000, Loss: 0.0002\n",
      "Epoch: 13080/30000, Loss: 0.0001\n",
      "Epoch: 13090/30000, Loss: 0.0001\n",
      "Epoch: 13100/30000, Loss: 0.0001\n",
      "Epoch: 13110/30000, Loss: 0.0000\n",
      "Epoch: 13120/30000, Loss: 0.0001\n",
      "Epoch: 13130/30000, Loss: 0.0000\n",
      "Epoch: 13140/30000, Loss: 0.0000\n",
      "Epoch: 13150/30000, Loss: 0.0001\n",
      "Epoch: 13160/30000, Loss: 0.0001\n",
      "Epoch: 13170/30000, Loss: 0.0001\n",
      "Epoch: 13180/30000, Loss: 0.0000\n",
      "Epoch: 13190/30000, Loss: 0.0003\n",
      "Epoch: 13200/30000, Loss: 0.0000\n",
      "Epoch: 13210/30000, Loss: 0.0000\n",
      "Epoch: 13220/30000, Loss: 0.0000\n",
      "Epoch: 13230/30000, Loss: 0.0001\n",
      "Epoch: 13240/30000, Loss: 0.0000\n",
      "Epoch: 13250/30000, Loss: 0.0003\n",
      "Epoch: 13260/30000, Loss: 0.0001\n",
      "Epoch: 13270/30000, Loss: 0.0000\n",
      "Epoch: 13280/30000, Loss: 0.0000\n",
      "Epoch: 13290/30000, Loss: 0.0001\n",
      "Epoch: 13300/30000, Loss: 0.0001\n",
      "Epoch: 13310/30000, Loss: 0.0000\n",
      "Epoch: 13320/30000, Loss: 0.0000\n",
      "Epoch: 13330/30000, Loss: 0.0002\n",
      "Epoch: 13340/30000, Loss: 0.0001\n",
      "Epoch: 13350/30000, Loss: 0.0000\n",
      "Epoch: 13360/30000, Loss: 0.0000\n",
      "Epoch: 13370/30000, Loss: 0.0001\n",
      "Epoch: 13380/30000, Loss: 0.0000\n",
      "Epoch: 13390/30000, Loss: 0.0001\n",
      "Epoch: 13400/30000, Loss: 0.0000\n",
      "Epoch: 13410/30000, Loss: 0.0001\n",
      "Epoch: 13420/30000, Loss: 0.0000\n",
      "Epoch: 13430/30000, Loss: 0.0000\n",
      "Epoch: 13440/30000, Loss: 0.0001\n",
      "Epoch: 13450/30000, Loss: 0.0001\n",
      "Epoch: 13460/30000, Loss: 0.0004\n",
      "Epoch: 13470/30000, Loss: 0.0003\n",
      "Epoch: 13480/30000, Loss: 0.0001\n",
      "Epoch: 13490/30000, Loss: 0.0000\n",
      "Epoch: 13500/30000, Loss: 0.0000\n",
      "Epoch: 13510/30000, Loss: 0.0000\n",
      "Epoch: 13520/30000, Loss: 0.0000\n",
      "Epoch: 13530/30000, Loss: 0.0000\n",
      "Epoch: 13540/30000, Loss: 0.0003\n",
      "Epoch: 13550/30000, Loss: 0.0000\n",
      "Epoch: 13560/30000, Loss: 0.0000\n",
      "Epoch: 13570/30000, Loss: 0.0001\n",
      "Epoch: 13580/30000, Loss: 0.0000\n",
      "Epoch: 13590/30000, Loss: 0.0001\n",
      "Epoch: 13600/30000, Loss: 0.0000\n",
      "Epoch: 13610/30000, Loss: 0.0001\n",
      "Epoch: 13620/30000, Loss: 0.0001\n",
      "Epoch: 13630/30000, Loss: 0.0002\n",
      "Epoch: 13640/30000, Loss: 0.0000\n",
      "Epoch: 13650/30000, Loss: 0.0000\n",
      "Epoch: 13660/30000, Loss: 0.0001\n",
      "Epoch: 13670/30000, Loss: 0.0000\n",
      "Epoch: 13680/30000, Loss: 0.0001\n",
      "Epoch: 13690/30000, Loss: 0.0001\n",
      "Epoch: 13700/30000, Loss: 0.0001\n",
      "Epoch: 13710/30000, Loss: 0.0001\n",
      "Epoch: 13720/30000, Loss: 0.0001\n",
      "Epoch: 13730/30000, Loss: 0.0000\n",
      "Epoch: 13740/30000, Loss: 0.0000\n",
      "Epoch: 13750/30000, Loss: 0.0001\n",
      "Epoch: 13760/30000, Loss: 0.0000\n",
      "Epoch: 13770/30000, Loss: 0.0000\n",
      "Epoch: 13780/30000, Loss: 0.0001\n",
      "Epoch: 13790/30000, Loss: 0.0000\n",
      "Epoch: 13800/30000, Loss: 0.0000\n",
      "Epoch: 13810/30000, Loss: 0.0001\n",
      "Epoch: 13820/30000, Loss: 0.0000\n",
      "Epoch: 13830/30000, Loss: 0.0000\n",
      "Epoch: 13840/30000, Loss: 0.0000\n",
      "Epoch: 13850/30000, Loss: 0.0000\n",
      "Epoch: 13860/30000, Loss: 0.0000\n",
      "Epoch: 13870/30000, Loss: 0.0004\n",
      "Epoch: 13880/30000, Loss: 0.0001\n",
      "Epoch: 13890/30000, Loss: 0.0000\n",
      "Epoch: 13900/30000, Loss: 0.0003\n",
      "Epoch: 13910/30000, Loss: 0.0001\n",
      "Epoch: 13920/30000, Loss: 0.0000\n",
      "Epoch: 13930/30000, Loss: 0.0000\n",
      "Epoch: 13940/30000, Loss: 0.0000\n",
      "Epoch: 13950/30000, Loss: 0.0000\n",
      "Epoch: 13960/30000, Loss: 0.0003\n",
      "Epoch: 13970/30000, Loss: 0.0001\n",
      "Epoch: 13980/30000, Loss: 0.0000\n",
      "Epoch: 13990/30000, Loss: 0.0000\n",
      "Epoch: 14000/30000, Loss: 0.0000\n",
      "Epoch: 14010/30000, Loss: 0.0000\n",
      "Epoch: 14020/30000, Loss: 0.0001\n",
      "Epoch: 14030/30000, Loss: 0.0002\n",
      "Epoch: 14040/30000, Loss: 0.0001\n",
      "Epoch: 14050/30000, Loss: 0.0000\n",
      "Epoch: 14060/30000, Loss: 0.0001\n",
      "Epoch: 14070/30000, Loss: 0.0000\n",
      "Epoch: 14080/30000, Loss: 0.0001\n",
      "Epoch: 14090/30000, Loss: 0.0002\n",
      "Epoch: 14100/30000, Loss: 0.0000\n",
      "Epoch: 14110/30000, Loss: 0.0000\n",
      "Epoch: 14120/30000, Loss: 0.0000\n",
      "Epoch: 14130/30000, Loss: 0.0000\n",
      "Epoch: 14140/30000, Loss: 0.0004\n",
      "Epoch: 14150/30000, Loss: 0.0001\n",
      "Epoch: 14160/30000, Loss: 0.0000\n",
      "Epoch: 14170/30000, Loss: 0.0000\n",
      "Epoch: 14180/30000, Loss: 0.0001\n",
      "Epoch: 14190/30000, Loss: 0.0001\n",
      "Epoch: 14200/30000, Loss: 0.0000\n",
      "Epoch: 14210/30000, Loss: 0.0000\n",
      "Epoch: 14220/30000, Loss: 0.0001\n",
      "Epoch: 14230/30000, Loss: 0.0001\n",
      "Epoch: 14240/30000, Loss: 0.0001\n",
      "Epoch: 14250/30000, Loss: 0.0001\n",
      "Epoch: 14260/30000, Loss: 0.0000\n",
      "Epoch: 14270/30000, Loss: 0.0000\n",
      "Epoch: 14280/30000, Loss: 0.0000\n",
      "Epoch: 14290/30000, Loss: 0.0002\n",
      "Epoch: 14300/30000, Loss: 0.0001\n",
      "Epoch: 14310/30000, Loss: 0.0001\n",
      "Epoch: 14320/30000, Loss: 0.0000\n",
      "Epoch: 14330/30000, Loss: 0.0001\n",
      "Epoch: 14340/30000, Loss: 0.0001\n",
      "Epoch: 14350/30000, Loss: 0.0000\n",
      "Epoch: 14360/30000, Loss: 0.0000\n",
      "Epoch: 14370/30000, Loss: 0.0000\n",
      "Epoch: 14380/30000, Loss: 0.0000\n",
      "Epoch: 14390/30000, Loss: 0.0000\n",
      "Epoch: 14400/30000, Loss: 0.0003\n",
      "Epoch: 14410/30000, Loss: 0.0001\n",
      "Epoch: 14420/30000, Loss: 0.0000\n",
      "Epoch: 14430/30000, Loss: 0.0000\n",
      "Epoch: 14440/30000, Loss: 0.0001\n",
      "Epoch: 14450/30000, Loss: 0.0001\n",
      "Epoch: 14460/30000, Loss: 0.0001\n",
      "Epoch: 14470/30000, Loss: 0.0000\n",
      "Epoch: 14480/30000, Loss: 0.0002\n",
      "Epoch: 14490/30000, Loss: 0.0001\n",
      "Epoch: 14500/30000, Loss: 0.0000\n",
      "Epoch: 14510/30000, Loss: 0.0000\n",
      "Epoch: 14520/30000, Loss: 0.0001\n",
      "Epoch: 14530/30000, Loss: 0.0000\n",
      "Epoch: 14540/30000, Loss: 0.0001\n",
      "Epoch: 14550/30000, Loss: 0.0002\n",
      "Epoch: 14560/30000, Loss: 0.0000\n",
      "Epoch: 14570/30000, Loss: 0.0000\n",
      "Epoch: 14580/30000, Loss: 0.0001\n",
      "Epoch: 14590/30000, Loss: 0.0000\n",
      "Epoch: 14600/30000, Loss: 0.0000\n",
      "Epoch: 14610/30000, Loss: 0.0001\n",
      "Epoch: 14620/30000, Loss: 0.0001\n",
      "Epoch: 14630/30000, Loss: 0.0000\n",
      "Epoch: 14640/30000, Loss: 0.0000\n",
      "Epoch: 14650/30000, Loss: 0.0000\n",
      "Epoch: 14660/30000, Loss: 0.0001\n",
      "Epoch: 14670/30000, Loss: 0.0001\n",
      "Epoch: 14680/30000, Loss: 0.0000\n",
      "Epoch: 14690/30000, Loss: 0.0001\n",
      "Epoch: 14700/30000, Loss: 0.0000\n",
      "Epoch: 14710/30000, Loss: 0.0001\n",
      "Epoch: 14720/30000, Loss: 0.0001\n",
      "Epoch: 14730/30000, Loss: 0.0001\n",
      "Epoch: 14740/30000, Loss: 0.0001\n",
      "Epoch: 14750/30000, Loss: 0.0000\n",
      "Epoch: 14760/30000, Loss: 0.0000\n",
      "Epoch: 14770/30000, Loss: 0.0001\n",
      "Epoch: 14780/30000, Loss: 0.0000\n",
      "Epoch: 14790/30000, Loss: 0.0000\n",
      "Epoch: 14800/30000, Loss: 0.0001\n",
      "Epoch: 14810/30000, Loss: 0.0001\n",
      "Epoch: 14820/30000, Loss: 0.0001\n",
      "Epoch: 14830/30000, Loss: 0.0000\n",
      "Epoch: 14840/30000, Loss: 0.0000\n",
      "Epoch: 14850/30000, Loss: 0.0002\n",
      "Epoch: 14860/30000, Loss: 0.0000\n",
      "Epoch: 14870/30000, Loss: 0.0000\n",
      "Epoch: 14880/30000, Loss: 0.0001\n",
      "Epoch: 14890/30000, Loss: 0.0001\n",
      "Epoch: 14900/30000, Loss: 0.0000\n",
      "Epoch: 14910/30000, Loss: 0.0000\n",
      "Epoch: 14920/30000, Loss: 0.0001\n",
      "Epoch: 14930/30000, Loss: 0.0000\n",
      "Epoch: 14940/30000, Loss: 0.0000\n",
      "Epoch: 14950/30000, Loss: 0.0000\n",
      "Epoch: 14960/30000, Loss: 0.0001\n",
      "Epoch: 14970/30000, Loss: 0.0002\n",
      "Epoch: 14980/30000, Loss: 0.0000\n",
      "Epoch: 14990/30000, Loss: 0.0000\n",
      "Epoch: 15000/30000, Loss: 0.0000\n",
      "Epoch: 15010/30000, Loss: 0.0000\n",
      "Epoch: 15020/30000, Loss: 0.0000\n",
      "Epoch: 15030/30000, Loss: 0.0001\n",
      "Epoch: 15040/30000, Loss: 0.0001\n",
      "Epoch: 15050/30000, Loss: 0.0001\n",
      "Epoch: 15060/30000, Loss: 0.0001\n",
      "Epoch: 15070/30000, Loss: 0.0001\n",
      "Epoch: 15080/30000, Loss: 0.0000\n",
      "Epoch: 15090/30000, Loss: 0.0001\n",
      "Epoch: 15100/30000, Loss: 0.0001\n",
      "Epoch: 15110/30000, Loss: 0.0001\n",
      "Epoch: 15120/30000, Loss: 0.0000\n",
      "Epoch: 15130/30000, Loss: 0.0000\n",
      "Epoch: 15140/30000, Loss: 0.0001\n",
      "Epoch: 15150/30000, Loss: 0.0001\n",
      "Epoch: 15160/30000, Loss: 0.0000\n",
      "Epoch: 15170/30000, Loss: 0.0000\n",
      "Epoch: 15180/30000, Loss: 0.0001\n",
      "Epoch: 15190/30000, Loss: 0.0001\n",
      "Epoch: 15200/30000, Loss: 0.0002\n",
      "Epoch: 15210/30000, Loss: 0.0000\n",
      "Epoch: 15220/30000, Loss: 0.0000\n",
      "Epoch: 15230/30000, Loss: 0.0000\n",
      "Epoch: 15240/30000, Loss: 0.0000\n",
      "Epoch: 15250/30000, Loss: 0.0000\n",
      "Epoch: 15260/30000, Loss: 0.0000\n",
      "Epoch: 15270/30000, Loss: 0.0004\n",
      "Epoch: 15280/30000, Loss: 0.0003\n",
      "Epoch: 15290/30000, Loss: 0.0001\n",
      "Epoch: 15300/30000, Loss: 0.0002\n",
      "Epoch: 15310/30000, Loss: 0.0003\n",
      "Epoch: 15320/30000, Loss: 0.0004\n",
      "Epoch: 15330/30000, Loss: 0.0001\n",
      "Epoch: 15340/30000, Loss: 0.0000\n",
      "Epoch: 15350/30000, Loss: 0.0000\n",
      "Epoch: 15360/30000, Loss: 0.0000\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 15370/30000, Loss: 0.0000\n",
      "Epoch: 15380/30000, Loss: 0.0000\n",
      "Epoch: 15390/30000, Loss: 0.0000\n",
      "Epoch: 15400/30000, Loss: 0.0000\n",
      "Epoch: 15410/30000, Loss: 0.0000\n",
      "Epoch: 15420/30000, Loss: 0.0000\n",
      "Epoch: 15430/30000, Loss: 0.0000\n",
      "Epoch: 15440/30000, Loss: 0.0002\n",
      "Epoch: 15450/30000, Loss: 0.0001\n",
      "Epoch: 15460/30000, Loss: 0.0000\n",
      "Epoch: 15470/30000, Loss: 0.0000\n",
      "Epoch: 15480/30000, Loss: 0.0001\n",
      "Epoch: 15490/30000, Loss: 0.0000\n",
      "Epoch: 15500/30000, Loss: 0.0000\n",
      "Epoch: 15510/30000, Loss: 0.0002\n",
      "Epoch: 15520/30000, Loss: 0.0001\n",
      "Epoch: 15530/30000, Loss: 0.0000\n",
      "Epoch: 15540/30000, Loss: 0.0000\n",
      "Epoch: 15550/30000, Loss: 0.0001\n",
      "Epoch: 15560/30000, Loss: 0.0000\n",
      "Epoch: 15570/30000, Loss: 0.0000\n",
      "Epoch: 15580/30000, Loss: 0.0000\n",
      "Epoch: 15590/30000, Loss: 0.0001\n",
      "Epoch: 15600/30000, Loss: 0.0000\n",
      "Epoch: 15610/30000, Loss: 0.0002\n",
      "Epoch: 15620/30000, Loss: 0.0001\n",
      "Epoch: 15630/30000, Loss: 0.0000\n",
      "Epoch: 15640/30000, Loss: 0.0001\n",
      "Epoch: 15650/30000, Loss: 0.0000\n",
      "Epoch: 15660/30000, Loss: 0.0000\n",
      "Epoch: 15670/30000, Loss: 0.0001\n",
      "Epoch: 15680/30000, Loss: 0.0002\n",
      "Epoch: 15690/30000, Loss: 0.0001\n",
      "Epoch: 15700/30000, Loss: 0.0001\n",
      "Epoch: 15710/30000, Loss: 0.0000\n",
      "Epoch: 15720/30000, Loss: 0.0001\n",
      "Epoch: 15730/30000, Loss: 0.0000\n",
      "Epoch: 15740/30000, Loss: 0.0000\n",
      "Epoch: 15750/30000, Loss: 0.0000\n",
      "Epoch: 15760/30000, Loss: 0.0003\n",
      "Epoch: 15770/30000, Loss: 0.0001\n",
      "Epoch: 15780/30000, Loss: 0.0000\n",
      "Epoch: 15790/30000, Loss: 0.0001\n",
      "Epoch: 15800/30000, Loss: 0.0000\n",
      "Epoch: 15810/30000, Loss: 0.0000\n",
      "Epoch: 15820/30000, Loss: 0.0000\n",
      "Epoch: 15830/30000, Loss: 0.0001\n",
      "Epoch: 15840/30000, Loss: 0.0001\n",
      "Epoch: 15850/30000, Loss: 0.0002\n",
      "Epoch: 15860/30000, Loss: 0.0001\n",
      "Epoch: 15870/30000, Loss: 0.0000\n",
      "Epoch: 15880/30000, Loss: 0.0000\n",
      "Epoch: 15890/30000, Loss: 0.0000\n",
      "Epoch: 15900/30000, Loss: 0.0001\n",
      "Epoch: 15910/30000, Loss: 0.0001\n",
      "Epoch: 15920/30000, Loss: 0.0001\n",
      "Epoch: 15930/30000, Loss: 0.0000\n",
      "Epoch: 15940/30000, Loss: 0.0000\n",
      "Epoch: 15950/30000, Loss: 0.0000\n",
      "Epoch: 15960/30000, Loss: 0.0001\n",
      "Epoch: 15970/30000, Loss: 0.0000\n",
      "Epoch: 15980/30000, Loss: 0.0000\n",
      "Epoch: 15990/30000, Loss: 0.0001\n",
      "Epoch: 16000/30000, Loss: 0.0000\n",
      "Epoch: 16010/30000, Loss: 0.0001\n",
      "Epoch: 16020/30000, Loss: 0.0000\n",
      "Epoch: 16030/30000, Loss: 0.0000\n",
      "Epoch: 16040/30000, Loss: 0.0003\n",
      "Epoch: 16050/30000, Loss: 0.0001\n",
      "Epoch: 16060/30000, Loss: 0.0000\n",
      "Epoch: 16070/30000, Loss: 0.0001\n",
      "Epoch: 16080/30000, Loss: 0.0000\n",
      "Epoch: 16090/30000, Loss: 0.0000\n",
      "Epoch: 16100/30000, Loss: 0.0001\n",
      "Epoch: 16110/30000, Loss: 0.0001\n",
      "Epoch: 16120/30000, Loss: 0.0000\n",
      "Epoch: 16130/30000, Loss: 0.0000\n",
      "Epoch: 16140/30000, Loss: 0.0000\n",
      "Epoch: 16150/30000, Loss: 0.0003\n",
      "Epoch: 16160/30000, Loss: 0.0006\n",
      "Epoch: 16170/30000, Loss: 0.0004\n",
      "Epoch: 16180/30000, Loss: 0.0001\n",
      "Epoch: 16190/30000, Loss: 0.0000\n",
      "Epoch: 16200/30000, Loss: 0.0000\n",
      "Epoch: 16210/30000, Loss: 0.0000\n",
      "Epoch: 16220/30000, Loss: 0.0000\n",
      "Epoch: 16230/30000, Loss: 0.0000\n",
      "Epoch: 16240/30000, Loss: 0.0000\n",
      "Epoch: 16250/30000, Loss: 0.0000\n",
      "Epoch: 16260/30000, Loss: 0.0003\n",
      "Epoch: 16270/30000, Loss: 0.0022\n",
      "Epoch: 16280/30000, Loss: 0.0007\n",
      "Epoch: 16290/30000, Loss: 0.0003\n",
      "Epoch: 16300/30000, Loss: 0.0001\n",
      "Epoch: 16310/30000, Loss: 0.0000\n",
      "Epoch: 16320/30000, Loss: 0.0000\n",
      "Epoch: 16330/30000, Loss: 0.0000\n",
      "Epoch: 16340/30000, Loss: 0.0000\n",
      "Epoch: 16350/30000, Loss: 0.0000\n",
      "Epoch: 16360/30000, Loss: 0.0000\n",
      "Epoch: 16370/30000, Loss: 0.0000\n",
      "Epoch: 16380/30000, Loss: 0.0000\n",
      "Epoch: 16390/30000, Loss: 0.0000\n",
      "Epoch: 16400/30000, Loss: 0.0001\n",
      "Epoch: 16410/30000, Loss: 0.0000\n",
      "Epoch: 16420/30000, Loss: 0.0000\n",
      "Epoch: 16430/30000, Loss: 0.0000\n",
      "Epoch: 16440/30000, Loss: 0.0000\n",
      "Epoch: 16450/30000, Loss: 0.0000\n",
      "Epoch: 16460/30000, Loss: 0.0000\n",
      "Epoch: 16470/30000, Loss: 0.0000\n",
      "Epoch: 16480/30000, Loss: 0.0001\n",
      "Epoch: 16490/30000, Loss: 0.0000\n",
      "Epoch: 16500/30000, Loss: 0.0000\n",
      "Epoch: 16510/30000, Loss: 0.0000\n",
      "Epoch: 16520/30000, Loss: 0.0000\n",
      "Epoch: 16530/30000, Loss: 0.0000\n",
      "Epoch: 16540/30000, Loss: 0.0000\n",
      "Epoch: 16550/30000, Loss: 0.0000\n",
      "Epoch: 16560/30000, Loss: 0.0002\n",
      "Epoch: 16570/30000, Loss: 0.0000\n",
      "Epoch: 16580/30000, Loss: 0.0000\n",
      "Epoch: 16590/30000, Loss: 0.0000\n",
      "Epoch: 16600/30000, Loss: 0.0001\n",
      "Epoch: 16610/30000, Loss: 0.0002\n",
      "Epoch: 16620/30000, Loss: 0.0000\n",
      "Epoch: 16630/30000, Loss: 0.0000\n",
      "Epoch: 16640/30000, Loss: 0.0000\n",
      "Epoch: 16650/30000, Loss: 0.0000\n",
      "Epoch: 16660/30000, Loss: 0.0000\n",
      "Epoch: 16670/30000, Loss: 0.0000\n",
      "Epoch: 16680/30000, Loss: 0.0001\n",
      "Epoch: 16690/30000, Loss: 0.0002\n",
      "Epoch: 16700/30000, Loss: 0.0001\n",
      "Epoch: 16710/30000, Loss: 0.0000\n",
      "Epoch: 16720/30000, Loss: 0.0000\n",
      "Epoch: 16730/30000, Loss: 0.0000\n",
      "Epoch: 16740/30000, Loss: 0.0001\n",
      "Epoch: 16750/30000, Loss: 0.0001\n",
      "Epoch: 16760/30000, Loss: 0.0000\n",
      "Epoch: 16770/30000, Loss: 0.0000\n",
      "Epoch: 16780/30000, Loss: 0.0000\n",
      "Epoch: 16790/30000, Loss: 0.0000\n",
      "Epoch: 16800/30000, Loss: 0.0000\n",
      "Epoch: 16810/30000, Loss: 0.0002\n",
      "Epoch: 16820/30000, Loss: 0.0001\n",
      "Epoch: 16830/30000, Loss: 0.0000\n",
      "Epoch: 16840/30000, Loss: 0.0000\n",
      "Epoch: 16850/30000, Loss: 0.0000\n",
      "Epoch: 16860/30000, Loss: 0.0000\n",
      "Epoch: 16870/30000, Loss: 0.0003\n",
      "Epoch: 16880/30000, Loss: 0.0001\n",
      "Epoch: 16890/30000, Loss: 0.0000\n",
      "Epoch: 16900/30000, Loss: 0.0000\n",
      "Epoch: 16910/30000, Loss: 0.0000\n",
      "Epoch: 16920/30000, Loss: 0.0002\n",
      "Epoch: 16930/30000, Loss: 0.0001\n",
      "Epoch: 16940/30000, Loss: 0.0000\n",
      "Epoch: 16950/30000, Loss: 0.0000\n",
      "Epoch: 16960/30000, Loss: 0.0000\n",
      "Epoch: 16970/30000, Loss: 0.0000\n",
      "Epoch: 16980/30000, Loss: 0.0002\n",
      "Epoch: 16990/30000, Loss: 0.0001\n",
      "Epoch: 17000/30000, Loss: 0.0000\n",
      "Epoch: 17010/30000, Loss: 0.0000\n",
      "Epoch: 17020/30000, Loss: 0.0001\n",
      "Epoch: 17030/30000, Loss: 0.0001\n",
      "Epoch: 17040/30000, Loss: 0.0001\n",
      "Epoch: 17050/30000, Loss: 0.0000\n",
      "Epoch: 17060/30000, Loss: 0.0000\n",
      "Epoch: 17070/30000, Loss: 0.0001\n",
      "Epoch: 17080/30000, Loss: 0.0002\n",
      "Epoch: 17090/30000, Loss: 0.0000\n",
      "Epoch: 17100/30000, Loss: 0.0000\n",
      "Epoch: 17110/30000, Loss: 0.0000\n",
      "Epoch: 17120/30000, Loss: 0.0000\n",
      "Epoch: 17130/30000, Loss: 0.0002\n",
      "Epoch: 17140/30000, Loss: 0.0001\n",
      "Epoch: 17150/30000, Loss: 0.0000\n",
      "Epoch: 17160/30000, Loss: 0.0000\n",
      "Epoch: 17170/30000, Loss: 0.0000\n",
      "Epoch: 17180/30000, Loss: 0.0000\n",
      "Epoch: 17190/30000, Loss: 0.0002\n",
      "Epoch: 17200/30000, Loss: 0.0002\n",
      "Epoch: 17210/30000, Loss: 0.0001\n",
      "Epoch: 17220/30000, Loss: 0.0001\n",
      "Epoch: 17230/30000, Loss: 0.0001\n",
      "Epoch: 17240/30000, Loss: 0.0000\n",
      "Epoch: 17250/30000, Loss: 0.0000\n",
      "Epoch: 17260/30000, Loss: 0.0000\n",
      "Epoch: 17270/30000, Loss: 0.0000\n",
      "Epoch: 17280/30000, Loss: 0.0003\n",
      "Epoch: 17290/30000, Loss: 0.0001\n",
      "Epoch: 17300/30000, Loss: 0.0000\n",
      "Epoch: 17310/30000, Loss: 0.0000\n",
      "Epoch: 17320/30000, Loss: 0.0000\n",
      "Epoch: 17330/30000, Loss: 0.0000\n",
      "Epoch: 17340/30000, Loss: 0.0002\n",
      "Epoch: 17350/30000, Loss: 0.0001\n",
      "Epoch: 17360/30000, Loss: 0.0001\n",
      "Epoch: 17370/30000, Loss: 0.0000\n",
      "Epoch: 17380/30000, Loss: 0.0001\n",
      "Epoch: 17390/30000, Loss: 0.0002\n",
      "Epoch: 17400/30000, Loss: 0.0000\n",
      "Epoch: 17410/30000, Loss: 0.0000\n",
      "Epoch: 17420/30000, Loss: 0.0000\n",
      "Epoch: 17430/30000, Loss: 0.0000\n",
      "Epoch: 17440/30000, Loss: 0.0001\n",
      "Epoch: 17450/30000, Loss: 0.0000\n",
      "Epoch: 17460/30000, Loss: 0.0000\n",
      "Epoch: 17470/30000, Loss: 0.0002\n",
      "Epoch: 17480/30000, Loss: 0.0001\n",
      "Epoch: 17490/30000, Loss: 0.0000\n",
      "Epoch: 17500/30000, Loss: 0.0000\n",
      "Epoch: 17510/30000, Loss: 0.0000\n",
      "Epoch: 17520/30000, Loss: 0.0001\n",
      "Epoch: 17530/30000, Loss: 0.0002\n",
      "Epoch: 17540/30000, Loss: 0.0000\n",
      "Epoch: 17550/30000, Loss: 0.0000\n",
      "Epoch: 17560/30000, Loss: 0.0000\n",
      "Epoch: 17570/30000, Loss: 0.0001\n",
      "Epoch: 17580/30000, Loss: 0.0001\n",
      "Epoch: 17590/30000, Loss: 0.0000\n",
      "Epoch: 17600/30000, Loss: 0.0000\n",
      "Epoch: 17610/30000, Loss: 0.0000\n",
      "Epoch: 17620/30000, Loss: 0.0001\n",
      "Epoch: 17630/30000, Loss: 0.0000\n",
      "Epoch: 17640/30000, Loss: 0.0002\n",
      "Epoch: 17650/30000, Loss: 0.0000\n",
      "Epoch: 17660/30000, Loss: 0.0001\n",
      "Epoch: 17670/30000, Loss: 0.0001\n",
      "Epoch: 17680/30000, Loss: 0.0000\n",
      "Epoch: 17690/30000, Loss: 0.0000\n",
      "Epoch: 17700/30000, Loss: 0.0003\n",
      "Epoch: 17710/30000, Loss: 0.0001\n",
      "Epoch: 17720/30000, Loss: 0.0000\n",
      "Epoch: 17730/30000, Loss: 0.0000\n",
      "Epoch: 17740/30000, Loss: 0.0000\n",
      "Epoch: 17750/30000, Loss: 0.0001\n",
      "Epoch: 17760/30000, Loss: 0.0000\n",
      "Epoch: 17770/30000, Loss: 0.0000\n",
      "Epoch: 17780/30000, Loss: 0.0000\n",
      "Epoch: 17790/30000, Loss: 0.0001\n",
      "Epoch: 17800/30000, Loss: 0.0001\n",
      "Epoch: 17810/30000, Loss: 0.0001\n",
      "Epoch: 17820/30000, Loss: 0.0000\n",
      "Epoch: 17830/30000, Loss: 0.0000\n",
      "Epoch: 17840/30000, Loss: 0.0000\n",
      "Epoch: 17850/30000, Loss: 0.0000\n",
      "Epoch: 17860/30000, Loss: 0.0002\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 17870/30000, Loss: 0.0001\n",
      "Epoch: 17880/30000, Loss: 0.0001\n",
      "Epoch: 17890/30000, Loss: 0.0001\n",
      "Epoch: 17900/30000, Loss: 0.0001\n",
      "Epoch: 17910/30000, Loss: 0.0000\n",
      "Epoch: 17920/30000, Loss: 0.0000\n",
      "Epoch: 17930/30000, Loss: 0.0001\n",
      "Epoch: 17940/30000, Loss: 0.0002\n",
      "Epoch: 17950/30000, Loss: 0.0001\n",
      "Epoch: 17960/30000, Loss: 0.0001\n",
      "Epoch: 17970/30000, Loss: 0.0000\n",
      "Epoch: 17980/30000, Loss: 0.0000\n",
      "Epoch: 17990/30000, Loss: 0.0002\n",
      "Epoch: 18000/30000, Loss: 0.0000\n",
      "Epoch: 18010/30000, Loss: 0.0000\n",
      "Epoch: 18020/30000, Loss: 0.0000\n",
      "Epoch: 18030/30000, Loss: 0.0003\n",
      "Epoch: 18040/30000, Loss: 0.0002\n",
      "Epoch: 18050/30000, Loss: 0.0000\n",
      "Epoch: 18060/30000, Loss: 0.0000\n",
      "Epoch: 18070/30000, Loss: 0.0001\n",
      "Epoch: 18080/30000, Loss: 0.0000\n",
      "Epoch: 18090/30000, Loss: 0.0000\n",
      "Epoch: 18100/30000, Loss: 0.0000\n",
      "Epoch: 18110/30000, Loss: 0.0001\n",
      "Epoch: 18120/30000, Loss: 0.0001\n",
      "Epoch: 18130/30000, Loss: 0.0001\n",
      "Epoch: 18140/30000, Loss: 0.0000\n",
      "Epoch: 18150/30000, Loss: 0.0000\n",
      "Epoch: 18160/30000, Loss: 0.0000\n",
      "Epoch: 18170/30000, Loss: 0.0001\n",
      "Epoch: 18180/30000, Loss: 0.0001\n",
      "Epoch: 18190/30000, Loss: 0.0000\n",
      "Epoch: 18200/30000, Loss: 0.0001\n",
      "Epoch: 18210/30000, Loss: 0.0001\n",
      "Epoch: 18220/30000, Loss: 0.0000\n",
      "Epoch: 18230/30000, Loss: 0.0000\n",
      "Epoch: 18240/30000, Loss: 0.0002\n",
      "Epoch: 18250/30000, Loss: 0.0001\n",
      "Epoch: 18260/30000, Loss: 0.0001\n",
      "Epoch: 18270/30000, Loss: 0.0000\n",
      "Epoch: 18280/30000, Loss: 0.0000\n",
      "Epoch: 18290/30000, Loss: 0.0000\n",
      "Epoch: 18300/30000, Loss: 0.0000\n",
      "Epoch: 18310/30000, Loss: 0.0001\n",
      "Epoch: 18320/30000, Loss: 0.0001\n",
      "Epoch: 18330/30000, Loss: 0.0001\n",
      "Epoch: 18340/30000, Loss: 0.0000\n",
      "Epoch: 18350/30000, Loss: 0.0000\n",
      "Epoch: 18360/30000, Loss: 0.0000\n",
      "Epoch: 18370/30000, Loss: 0.0000\n",
      "Epoch: 18380/30000, Loss: 0.0002\n",
      "Epoch: 18390/30000, Loss: 0.0000\n",
      "Epoch: 18400/30000, Loss: 0.0000\n",
      "Epoch: 18410/30000, Loss: 0.0001\n",
      "Epoch: 18420/30000, Loss: 0.0001\n",
      "Epoch: 18430/30000, Loss: 0.0000\n",
      "Epoch: 18440/30000, Loss: 0.0000\n",
      "Epoch: 18450/30000, Loss: 0.0001\n",
      "Epoch: 18460/30000, Loss: 0.0000\n",
      "Epoch: 18470/30000, Loss: 0.0000\n",
      "Epoch: 18480/30000, Loss: 0.0000\n",
      "Epoch: 18490/30000, Loss: 0.0002\n",
      "Epoch: 18500/30000, Loss: 0.0001\n",
      "Epoch: 18510/30000, Loss: 0.0001\n",
      "Epoch: 18520/30000, Loss: 0.0000\n",
      "Epoch: 18530/30000, Loss: 0.0000\n",
      "Epoch: 18540/30000, Loss: 0.0000\n",
      "Epoch: 18550/30000, Loss: 0.0000\n",
      "Epoch: 18560/30000, Loss: 0.0003\n",
      "Epoch: 18570/30000, Loss: 0.0002\n",
      "Epoch: 18580/30000, Loss: 0.0000\n",
      "Epoch: 18590/30000, Loss: 0.0000\n",
      "Epoch: 18600/30000, Loss: 0.0000\n",
      "Epoch: 18610/30000, Loss: 0.0001\n",
      "Epoch: 18620/30000, Loss: 0.0000\n",
      "Epoch: 18630/30000, Loss: 0.0001\n",
      "Epoch: 18640/30000, Loss: 0.0001\n",
      "Epoch: 18650/30000, Loss: 0.0001\n",
      "Epoch: 18660/30000, Loss: 0.0000\n",
      "Epoch: 18670/30000, Loss: 0.0001\n",
      "Epoch: 18680/30000, Loss: 0.0002\n",
      "Epoch: 18690/30000, Loss: 0.0000\n",
      "Epoch: 18700/30000, Loss: 0.0000\n",
      "Epoch: 18710/30000, Loss: 0.0000\n",
      "Epoch: 18720/30000, Loss: 0.0001\n",
      "Epoch: 18730/30000, Loss: 0.0001\n",
      "Epoch: 18740/30000, Loss: 0.0000\n",
      "Epoch: 18750/30000, Loss: 0.0001\n",
      "Epoch: 18760/30000, Loss: 0.0002\n",
      "Epoch: 18770/30000, Loss: 0.0000\n",
      "Epoch: 18780/30000, Loss: 0.0000\n",
      "Epoch: 18790/30000, Loss: 0.0000\n",
      "Epoch: 18800/30000, Loss: 0.0001\n",
      "Epoch: 18810/30000, Loss: 0.0002\n",
      "Epoch: 18820/30000, Loss: 0.0001\n",
      "Epoch: 18830/30000, Loss: 0.0002\n",
      "Epoch: 18840/30000, Loss: 0.0004\n",
      "Epoch: 18850/30000, Loss: 0.0004\n",
      "Epoch: 18860/30000, Loss: 0.0002\n",
      "Epoch: 18870/30000, Loss: 0.0001\n",
      "Epoch: 18880/30000, Loss: 0.0000\n",
      "Epoch: 18890/30000, Loss: 0.0000\n",
      "Epoch: 18900/30000, Loss: 0.0000\n",
      "Epoch: 18910/30000, Loss: 0.0000\n",
      "Epoch: 18920/30000, Loss: 0.0000\n",
      "Epoch: 18930/30000, Loss: 0.0000\n",
      "Epoch: 18940/30000, Loss: 0.0000\n",
      "Epoch: 18950/30000, Loss: 0.0000\n",
      "Epoch: 18960/30000, Loss: 0.0000\n",
      "Epoch: 18970/30000, Loss: 0.0000\n",
      "Epoch: 18980/30000, Loss: 0.0001\n",
      "Epoch: 18990/30000, Loss: 0.0009\n",
      "Epoch: 19000/30000, Loss: 0.0003\n",
      "Epoch: 19010/30000, Loss: 0.0001\n",
      "Epoch: 19020/30000, Loss: 0.0000\n",
      "Epoch: 19030/30000, Loss: 0.0000\n",
      "Epoch: 19040/30000, Loss: 0.0000\n",
      "Epoch: 19050/30000, Loss: 0.0000\n",
      "Epoch: 19060/30000, Loss: 0.0000\n",
      "Epoch: 19070/30000, Loss: 0.0000\n",
      "Epoch: 19080/30000, Loss: 0.0000\n",
      "Epoch: 19090/30000, Loss: 0.0000\n",
      "Epoch: 19100/30000, Loss: 0.0000\n",
      "Epoch: 19110/30000, Loss: 0.0000\n",
      "Epoch: 19120/30000, Loss: 0.0000\n",
      "Epoch: 19130/30000, Loss: 0.0000\n",
      "Epoch: 19140/30000, Loss: 0.0000\n",
      "Epoch: 19150/30000, Loss: 0.0001\n",
      "Epoch: 19160/30000, Loss: 0.0002\n",
      "Epoch: 19170/30000, Loss: 0.0001\n",
      "Epoch: 19180/30000, Loss: 0.0000\n",
      "Epoch: 19190/30000, Loss: 0.0000\n",
      "Epoch: 19200/30000, Loss: 0.0000\n",
      "Epoch: 19210/30000, Loss: 0.0000\n",
      "Epoch: 19220/30000, Loss: 0.0000\n",
      "Epoch: 19230/30000, Loss: 0.0002\n",
      "Epoch: 19240/30000, Loss: 0.0000\n",
      "Epoch: 19250/30000, Loss: 0.0000\n",
      "Epoch: 19260/30000, Loss: 0.0000\n",
      "Epoch: 19270/30000, Loss: 0.0000\n",
      "Epoch: 19280/30000, Loss: 0.0001\n",
      "Epoch: 19290/30000, Loss: 0.0002\n",
      "Epoch: 19300/30000, Loss: 0.0000\n",
      "Epoch: 19310/30000, Loss: 0.0000\n",
      "Epoch: 19320/30000, Loss: 0.0000\n",
      "Epoch: 19330/30000, Loss: 0.0000\n",
      "Epoch: 19340/30000, Loss: 0.0001\n",
      "Epoch: 19350/30000, Loss: 0.0001\n",
      "Epoch: 19360/30000, Loss: 0.0001\n",
      "Epoch: 19370/30000, Loss: 0.0000\n",
      "Epoch: 19380/30000, Loss: 0.0000\n",
      "Epoch: 19390/30000, Loss: 0.0000\n",
      "Epoch: 19400/30000, Loss: 0.0001\n",
      "Epoch: 19410/30000, Loss: 0.0001\n",
      "Epoch: 19420/30000, Loss: 0.0001\n",
      "Epoch: 19430/30000, Loss: 0.0000\n",
      "Epoch: 19440/30000, Loss: 0.0000\n",
      "Epoch: 19450/30000, Loss: 0.0000\n",
      "Epoch: 19460/30000, Loss: 0.0000\n",
      "Epoch: 19470/30000, Loss: 0.0000\n",
      "Epoch: 19480/30000, Loss: 0.0001\n",
      "Epoch: 19490/30000, Loss: 0.0001\n",
      "Epoch: 19500/30000, Loss: 0.0002\n",
      "Epoch: 19510/30000, Loss: 0.0000\n",
      "Epoch: 19520/30000, Loss: 0.0000\n",
      "Epoch: 19530/30000, Loss: 0.0000\n",
      "Epoch: 19540/30000, Loss: 0.0000\n",
      "Epoch: 19550/30000, Loss: 0.0000\n",
      "Epoch: 19560/30000, Loss: 0.0000\n",
      "Epoch: 19570/30000, Loss: 0.0004\n",
      "Epoch: 19580/30000, Loss: 0.0001\n",
      "Epoch: 19590/30000, Loss: 0.0001\n",
      "Epoch: 19600/30000, Loss: 0.0000\n",
      "Epoch: 19610/30000, Loss: 0.0000\n",
      "Epoch: 19620/30000, Loss: 0.0001\n",
      "Epoch: 19630/30000, Loss: 0.0000\n",
      "Epoch: 19640/30000, Loss: 0.0000\n",
      "Epoch: 19650/30000, Loss: 0.0000\n",
      "Epoch: 19660/30000, Loss: 0.0001\n",
      "Epoch: 19670/30000, Loss: 0.0000\n",
      "Epoch: 19680/30000, Loss: 0.0001\n",
      "Epoch: 19690/30000, Loss: 0.0001\n",
      "Epoch: 19700/30000, Loss: 0.0001\n",
      "Epoch: 19710/30000, Loss: 0.0000\n",
      "Epoch: 19720/30000, Loss: 0.0000\n",
      "Epoch: 19730/30000, Loss: 0.0000\n",
      "Epoch: 19740/30000, Loss: 0.0000\n",
      "Epoch: 19750/30000, Loss: 0.0000\n",
      "Epoch: 19760/30000, Loss: 0.0005\n",
      "Epoch: 19770/30000, Loss: 0.0001\n",
      "Epoch: 19780/30000, Loss: 0.0001\n",
      "Epoch: 19790/30000, Loss: 0.0000\n",
      "Epoch: 19800/30000, Loss: 0.0000\n",
      "Epoch: 19810/30000, Loss: 0.0000\n",
      "Epoch: 19820/30000, Loss: 0.0000\n",
      "Epoch: 19830/30000, Loss: 0.0001\n",
      "Epoch: 19840/30000, Loss: 0.0001\n",
      "Epoch: 19850/30000, Loss: 0.0000\n",
      "Epoch: 19860/30000, Loss: 0.0000\n",
      "Epoch: 19870/30000, Loss: 0.0000\n",
      "Epoch: 19880/30000, Loss: 0.0002\n",
      "Epoch: 19890/30000, Loss: 0.0001\n",
      "Epoch: 19900/30000, Loss: 0.0000\n",
      "Epoch: 19910/30000, Loss: 0.0000\n",
      "Epoch: 19920/30000, Loss: 0.0000\n",
      "Epoch: 19930/30000, Loss: 0.0001\n",
      "Epoch: 19940/30000, Loss: 0.0000\n",
      "Epoch: 19950/30000, Loss: 0.0000\n",
      "Epoch: 19960/30000, Loss: 0.0001\n",
      "Epoch: 19970/30000, Loss: 0.0000\n",
      "Epoch: 19980/30000, Loss: 0.0000\n",
      "Epoch: 19990/30000, Loss: 0.0000\n",
      "Epoch: 20000/30000, Loss: 0.0000\n",
      "Epoch: 20010/30000, Loss: 0.0001\n",
      "Epoch: 20020/30000, Loss: 0.0003\n",
      "Epoch: 20030/30000, Loss: 0.0001\n",
      "Epoch: 20040/30000, Loss: 0.0000\n",
      "Epoch: 20050/30000, Loss: 0.0000\n",
      "Epoch: 20060/30000, Loss: 0.0000\n",
      "Epoch: 20070/30000, Loss: 0.0000\n",
      "Epoch: 20080/30000, Loss: 0.0001\n",
      "Epoch: 20090/30000, Loss: 0.0000\n",
      "Epoch: 20100/30000, Loss: 0.0001\n",
      "Epoch: 20110/30000, Loss: 0.0002\n",
      "Epoch: 20120/30000, Loss: 0.0001\n",
      "Epoch: 20130/30000, Loss: 0.0000\n",
      "Epoch: 20140/30000, Loss: 0.0000\n",
      "Epoch: 20150/30000, Loss: 0.0000\n",
      "Epoch: 20160/30000, Loss: 0.0000\n",
      "Epoch: 20170/30000, Loss: 0.0003\n",
      "Epoch: 20180/30000, Loss: 0.0001\n",
      "Epoch: 20190/30000, Loss: 0.0000\n",
      "Epoch: 20200/30000, Loss: 0.0000\n",
      "Epoch: 20210/30000, Loss: 0.0001\n",
      "Epoch: 20220/30000, Loss: 0.0001\n",
      "Epoch: 20230/30000, Loss: 0.0001\n",
      "Epoch: 20240/30000, Loss: 0.0000\n",
      "Epoch: 20250/30000, Loss: 0.0001\n",
      "Epoch: 20260/30000, Loss: 0.0002\n",
      "Epoch: 20270/30000, Loss: 0.0001\n",
      "Epoch: 20280/30000, Loss: 0.0000\n",
      "Epoch: 20290/30000, Loss: 0.0002\n",
      "Epoch: 20300/30000, Loss: 0.0000\n",
      "Epoch: 20310/30000, Loss: 0.0000\n",
      "Epoch: 20320/30000, Loss: 0.0001\n",
      "Epoch: 20330/30000, Loss: 0.0001\n",
      "Epoch: 20340/30000, Loss: 0.0000\n",
      "Epoch: 20350/30000, Loss: 0.0000\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 20360/30000, Loss: 0.0001\n",
      "Epoch: 20370/30000, Loss: 0.0000\n",
      "Epoch: 20380/30000, Loss: 0.0000\n",
      "Epoch: 20390/30000, Loss: 0.0000\n",
      "Epoch: 20400/30000, Loss: 0.0001\n",
      "Epoch: 20410/30000, Loss: 0.0001\n",
      "Epoch: 20420/30000, Loss: 0.0002\n",
      "Epoch: 20430/30000, Loss: 0.0000\n",
      "Epoch: 20440/30000, Loss: 0.0000\n",
      "Epoch: 20450/30000, Loss: 0.0000\n",
      "Epoch: 20460/30000, Loss: 0.0000\n",
      "Epoch: 20470/30000, Loss: 0.0001\n",
      "Epoch: 20480/30000, Loss: 0.0001\n",
      "Epoch: 20490/30000, Loss: 0.0001\n",
      "Epoch: 20500/30000, Loss: 0.0000\n",
      "Epoch: 20510/30000, Loss: 0.0000\n",
      "Epoch: 20520/30000, Loss: 0.0001\n",
      "Epoch: 20530/30000, Loss: 0.0001\n",
      "Epoch: 20540/30000, Loss: 0.0001\n",
      "Epoch: 20550/30000, Loss: 0.0001\n",
      "Epoch: 20560/30000, Loss: 0.0000\n",
      "Epoch: 20570/30000, Loss: 0.0000\n",
      "Epoch: 20580/30000, Loss: 0.0000\n",
      "Epoch: 20590/30000, Loss: 0.0001\n",
      "Epoch: 20600/30000, Loss: 0.0000\n",
      "Epoch: 20610/30000, Loss: 0.0001\n",
      "Epoch: 20620/30000, Loss: 0.0001\n",
      "Epoch: 20630/30000, Loss: 0.0000\n",
      "Epoch: 20640/30000, Loss: 0.0000\n",
      "Epoch: 20650/30000, Loss: 0.0000\n",
      "Epoch: 20660/30000, Loss: 0.0001\n",
      "Epoch: 20670/30000, Loss: 0.0001\n",
      "Epoch: 20680/30000, Loss: 0.0003\n",
      "Epoch: 20690/30000, Loss: 0.0001\n",
      "Epoch: 20700/30000, Loss: 0.0001\n",
      "Epoch: 20710/30000, Loss: 0.0000\n",
      "Epoch: 20720/30000, Loss: 0.0000\n",
      "Epoch: 20730/30000, Loss: 0.0000\n",
      "Epoch: 20740/30000, Loss: 0.0001\n",
      "Epoch: 20750/30000, Loss: 0.0001\n",
      "Epoch: 20760/30000, Loss: 0.0000\n",
      "Epoch: 20770/30000, Loss: 0.0001\n",
      "Epoch: 20780/30000, Loss: 0.0001\n",
      "Epoch: 20790/30000, Loss: 0.0001\n",
      "Epoch: 20800/30000, Loss: 0.0001\n",
      "Epoch: 20810/30000, Loss: 0.0000\n",
      "Epoch: 20820/30000, Loss: 0.0000\n",
      "Epoch: 20830/30000, Loss: 0.0000\n",
      "Epoch: 20840/30000, Loss: 0.0002\n",
      "Epoch: 20850/30000, Loss: 0.0001\n",
      "Epoch: 20860/30000, Loss: 0.0001\n",
      "Epoch: 20870/30000, Loss: 0.0000\n",
      "Epoch: 20880/30000, Loss: 0.0000\n",
      "Epoch: 20890/30000, Loss: 0.0000\n",
      "Epoch: 20900/30000, Loss: 0.0000\n",
      "Epoch: 20910/30000, Loss: 0.0000\n",
      "Epoch: 20920/30000, Loss: 0.0001\n",
      "Epoch: 20930/30000, Loss: 0.0001\n",
      "Epoch: 20940/30000, Loss: 0.0002\n",
      "Epoch: 20950/30000, Loss: 0.0000\n",
      "Epoch: 20960/30000, Loss: 0.0000\n",
      "Epoch: 20970/30000, Loss: 0.0001\n",
      "Epoch: 20980/30000, Loss: 0.0000\n",
      "Epoch: 20990/30000, Loss: 0.0000\n",
      "Epoch: 21000/30000, Loss: 0.0001\n",
      "Epoch: 21010/30000, Loss: 0.0001\n",
      "Epoch: 21020/30000, Loss: 0.0000\n",
      "Epoch: 21030/30000, Loss: 0.0001\n",
      "Epoch: 21040/30000, Loss: 0.0000\n",
      "Epoch: 21050/30000, Loss: 0.0000\n",
      "Epoch: 21060/30000, Loss: 0.0000\n",
      "Epoch: 21070/30000, Loss: 0.0000\n",
      "Epoch: 21080/30000, Loss: 0.0000\n",
      "Epoch: 21090/30000, Loss: 0.0000\n",
      "Epoch: 21100/30000, Loss: 0.0004\n",
      "Epoch: 21110/30000, Loss: 0.0002\n",
      "Epoch: 21120/30000, Loss: 0.0001\n",
      "Epoch: 21130/30000, Loss: 0.0000\n",
      "Epoch: 21140/30000, Loss: 0.0000\n",
      "Epoch: 21150/30000, Loss: 0.0000\n",
      "Epoch: 21160/30000, Loss: 0.0000\n",
      "Epoch: 21170/30000, Loss: 0.0000\n",
      "Epoch: 21180/30000, Loss: 0.0001\n",
      "Epoch: 21190/30000, Loss: 0.0002\n",
      "Epoch: 21200/30000, Loss: 0.0001\n",
      "Epoch: 21210/30000, Loss: 0.0000\n",
      "Epoch: 21220/30000, Loss: 0.0000\n",
      "Epoch: 21230/30000, Loss: 0.0000\n",
      "Epoch: 21240/30000, Loss: 0.0001\n",
      "Epoch: 21250/30000, Loss: 0.0000\n",
      "Epoch: 21260/30000, Loss: 0.0001\n",
      "Epoch: 21270/30000, Loss: 0.0001\n",
      "Epoch: 21280/30000, Loss: 0.0001\n",
      "Epoch: 21290/30000, Loss: 0.0000\n",
      "Epoch: 21300/30000, Loss: 0.0000\n",
      "Epoch: 21310/30000, Loss: 0.0001\n",
      "Epoch: 21320/30000, Loss: 0.0002\n",
      "Epoch: 21330/30000, Loss: 0.0003\n",
      "Epoch: 21340/30000, Loss: 0.0063\n",
      "Epoch: 21350/30000, Loss: 0.0107\n",
      "Epoch: 21360/30000, Loss: 0.0026\n",
      "Epoch: 21370/30000, Loss: 0.0012\n",
      "Epoch: 21380/30000, Loss: 0.0006\n",
      "Epoch: 21390/30000, Loss: 0.0002\n",
      "Epoch: 21400/30000, Loss: 0.0001\n",
      "Epoch: 21410/30000, Loss: 0.0001\n",
      "Epoch: 21420/30000, Loss: 0.0000\n",
      "Epoch: 21430/30000, Loss: 0.0000\n",
      "Epoch: 21440/30000, Loss: 0.0000\n",
      "Epoch: 21450/30000, Loss: 0.0001\n",
      "Epoch: 21460/30000, Loss: 0.0001\n",
      "Epoch: 21470/30000, Loss: 0.0000\n",
      "Epoch: 21480/30000, Loss: 0.0000\n",
      "Epoch: 21490/30000, Loss: 0.0000\n",
      "Epoch: 21500/30000, Loss: 0.0000\n",
      "Epoch: 21510/30000, Loss: 0.0000\n",
      "Epoch: 21520/30000, Loss: 0.0000\n",
      "Epoch: 21530/30000, Loss: 0.0000\n",
      "Epoch: 21540/30000, Loss: 0.0000\n",
      "Epoch: 21550/30000, Loss: 0.0000\n",
      "Epoch: 21560/30000, Loss: 0.0000\n",
      "Epoch: 21570/30000, Loss: 0.0000\n",
      "Epoch: 21580/30000, Loss: 0.0000\n",
      "Epoch: 21590/30000, Loss: 0.0000\n",
      "Epoch: 21600/30000, Loss: 0.0000\n",
      "Epoch: 21610/30000, Loss: 0.0000\n",
      "Epoch: 21620/30000, Loss: 0.0000\n",
      "Epoch: 21630/30000, Loss: 0.0000\n",
      "Epoch: 21640/30000, Loss: 0.0000\n",
      "Epoch: 21650/30000, Loss: 0.0000\n",
      "Epoch: 21660/30000, Loss: 0.0000\n",
      "Epoch: 21670/30000, Loss: 0.0000\n",
      "Epoch: 21680/30000, Loss: 0.0000\n",
      "Epoch: 21690/30000, Loss: 0.0000\n",
      "Epoch: 21700/30000, Loss: 0.0000\n",
      "Epoch: 21710/30000, Loss: 0.0000\n",
      "Epoch: 21720/30000, Loss: 0.0000\n",
      "Epoch: 21730/30000, Loss: 0.0000\n",
      "Epoch: 21740/30000, Loss: 0.0000\n",
      "Epoch: 21750/30000, Loss: 0.0000\n",
      "Epoch: 21760/30000, Loss: 0.0000\n",
      "Epoch: 21770/30000, Loss: 0.0000\n",
      "Epoch: 21780/30000, Loss: 0.0000\n",
      "Epoch: 21790/30000, Loss: 0.0000\n",
      "Epoch: 21800/30000, Loss: 0.0001\n",
      "Epoch: 21810/30000, Loss: 0.0000\n",
      "Epoch: 21820/30000, Loss: 0.0000\n",
      "Epoch: 21830/30000, Loss: 0.0000\n",
      "Epoch: 21840/30000, Loss: 0.0000\n",
      "Epoch: 21850/30000, Loss: 0.0000\n",
      "Epoch: 21860/30000, Loss: 0.0000\n",
      "Epoch: 21870/30000, Loss: 0.0000\n",
      "Epoch: 21880/30000, Loss: 0.0000\n",
      "Epoch: 21890/30000, Loss: 0.0000\n",
      "Epoch: 21900/30000, Loss: 0.0000\n",
      "Epoch: 21910/30000, Loss: 0.0000\n",
      "Epoch: 21920/30000, Loss: 0.0002\n",
      "Epoch: 21930/30000, Loss: 0.0001\n",
      "Epoch: 21940/30000, Loss: 0.0000\n",
      "Epoch: 21950/30000, Loss: 0.0000\n",
      "Epoch: 21960/30000, Loss: 0.0000\n",
      "Epoch: 21970/30000, Loss: 0.0000\n",
      "Epoch: 21980/30000, Loss: 0.0000\n",
      "Epoch: 21990/30000, Loss: 0.0000\n",
      "Epoch: 22000/30000, Loss: 0.0000\n",
      "Epoch: 22010/30000, Loss: 0.0000\n",
      "Epoch: 22020/30000, Loss: 0.0002\n",
      "Epoch: 22030/30000, Loss: 0.0001\n",
      "Epoch: 22040/30000, Loss: 0.0000\n",
      "Epoch: 22050/30000, Loss: 0.0000\n",
      "Epoch: 22060/30000, Loss: 0.0000\n",
      "Epoch: 22070/30000, Loss: 0.0000\n",
      "Epoch: 22080/30000, Loss: 0.0000\n",
      "Epoch: 22090/30000, Loss: 0.0000\n",
      "Epoch: 22100/30000, Loss: 0.0000\n",
      "Epoch: 22110/30000, Loss: 0.0001\n",
      "Epoch: 22120/30000, Loss: 0.0000\n",
      "Epoch: 22130/30000, Loss: 0.0000\n",
      "Epoch: 22140/30000, Loss: 0.0000\n",
      "Epoch: 22150/30000, Loss: 0.0003\n",
      "Epoch: 22160/30000, Loss: 0.0001\n",
      "Epoch: 22170/30000, Loss: 0.0000\n",
      "Epoch: 22180/30000, Loss: 0.0000\n",
      "Epoch: 22190/30000, Loss: 0.0000\n",
      "Epoch: 22200/30000, Loss: 0.0001\n",
      "Epoch: 22210/30000, Loss: 0.0000\n",
      "Epoch: 22220/30000, Loss: 0.0000\n",
      "Epoch: 22230/30000, Loss: 0.0000\n",
      "Epoch: 22240/30000, Loss: 0.0000\n",
      "Epoch: 22250/30000, Loss: 0.0000\n",
      "Epoch: 22260/30000, Loss: 0.0000\n",
      "Epoch: 22270/30000, Loss: 0.0001\n",
      "Epoch: 22280/30000, Loss: 0.0002\n",
      "Epoch: 22290/30000, Loss: 0.0000\n",
      "Epoch: 22300/30000, Loss: 0.0001\n",
      "Epoch: 22310/30000, Loss: 0.0000\n",
      "Epoch: 22320/30000, Loss: 0.0000\n",
      "Epoch: 22330/30000, Loss: 0.0000\n",
      "Epoch: 22340/30000, Loss: 0.0000\n",
      "Epoch: 22350/30000, Loss: 0.0002\n",
      "Epoch: 22360/30000, Loss: 0.0001\n",
      "Epoch: 22370/30000, Loss: 0.0000\n",
      "Epoch: 22380/30000, Loss: 0.0000\n",
      "Epoch: 22390/30000, Loss: 0.0000\n",
      "Epoch: 22400/30000, Loss: 0.0000\n",
      "Epoch: 22410/30000, Loss: 0.0001\n",
      "Epoch: 22420/30000, Loss: 0.0000\n",
      "Epoch: 22430/30000, Loss: 0.0000\n",
      "Epoch: 22440/30000, Loss: 0.0000\n",
      "Epoch: 22450/30000, Loss: 0.0000\n",
      "Epoch: 22460/30000, Loss: 0.0000\n",
      "Epoch: 22470/30000, Loss: 0.0000\n",
      "Epoch: 22480/30000, Loss: 0.0003\n",
      "Epoch: 22490/30000, Loss: 0.0001\n",
      "Epoch: 22500/30000, Loss: 0.0000\n",
      "Epoch: 22510/30000, Loss: 0.0000\n",
      "Epoch: 22520/30000, Loss: 0.0002\n",
      "Epoch: 22530/30000, Loss: 0.0001\n",
      "Epoch: 22540/30000, Loss: 0.0000\n",
      "Epoch: 22550/30000, Loss: 0.0000\n",
      "Epoch: 22560/30000, Loss: 0.0000\n",
      "Epoch: 22570/30000, Loss: 0.0000\n",
      "Epoch: 22580/30000, Loss: 0.0000\n",
      "Epoch: 22590/30000, Loss: 0.0000\n",
      "Epoch: 22600/30000, Loss: 0.0002\n",
      "Epoch: 22610/30000, Loss: 0.0001\n",
      "Epoch: 22620/30000, Loss: 0.0001\n",
      "Epoch: 22630/30000, Loss: 0.0000\n",
      "Epoch: 22640/30000, Loss: 0.0000\n",
      "Epoch: 22650/30000, Loss: 0.0001\n",
      "Epoch: 22660/30000, Loss: 0.0000\n",
      "Epoch: 22670/30000, Loss: 0.0000\n",
      "Epoch: 22680/30000, Loss: 0.0000\n",
      "Epoch: 22690/30000, Loss: 0.0000\n",
      "Epoch: 22700/30000, Loss: 0.0001\n",
      "Epoch: 22710/30000, Loss: 0.0004\n",
      "Epoch: 22720/30000, Loss: 0.0001\n",
      "Epoch: 22730/30000, Loss: 0.0001\n",
      "Epoch: 22740/30000, Loss: 0.0000\n",
      "Epoch: 22750/30000, Loss: 0.0000\n",
      "Epoch: 22760/30000, Loss: 0.0000\n",
      "Epoch: 22770/30000, Loss: 0.0000\n",
      "Epoch: 22780/30000, Loss: 0.0000\n",
      "Epoch: 22790/30000, Loss: 0.0000\n",
      "Epoch: 22800/30000, Loss: 0.0000\n",
      "Epoch: 22810/30000, Loss: 0.0002\n",
      "Epoch: 22820/30000, Loss: 0.0001\n",
      "Epoch: 22830/30000, Loss: 0.0001\n",
      "Epoch: 22840/30000, Loss: 0.0000\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 22850/30000, Loss: 0.0000\n",
      "Epoch: 22860/30000, Loss: 0.0000\n",
      "Epoch: 22870/30000, Loss: 0.0000\n",
      "Epoch: 22880/30000, Loss: 0.0000\n",
      "Epoch: 22890/30000, Loss: 0.0006\n",
      "Epoch: 22900/30000, Loss: 0.0002\n",
      "Epoch: 22910/30000, Loss: 0.0001\n",
      "Epoch: 22920/30000, Loss: 0.0000\n",
      "Epoch: 22930/30000, Loss: 0.0000\n",
      "Epoch: 22940/30000, Loss: 0.0000\n",
      "Epoch: 22950/30000, Loss: 0.0000\n",
      "Epoch: 22960/30000, Loss: 0.0000\n",
      "Epoch: 22970/30000, Loss: 0.0003\n",
      "Epoch: 22980/30000, Loss: 0.0001\n",
      "Epoch: 22990/30000, Loss: 0.0000\n",
      "Epoch: 23000/30000, Loss: 0.0000\n",
      "Epoch: 23010/30000, Loss: 0.0000\n",
      "Epoch: 23020/30000, Loss: 0.0000\n",
      "Epoch: 23030/30000, Loss: 0.0000\n",
      "Epoch: 23040/30000, Loss: 0.0002\n",
      "Epoch: 23050/30000, Loss: 0.0000\n",
      "Epoch: 23060/30000, Loss: 0.0000\n",
      "Epoch: 23070/30000, Loss: 0.0001\n",
      "Epoch: 23080/30000, Loss: 0.0002\n",
      "Epoch: 23090/30000, Loss: 0.0001\n",
      "Epoch: 23100/30000, Loss: 0.0000\n",
      "Epoch: 23110/30000, Loss: 0.0000\n",
      "Epoch: 23120/30000, Loss: 0.0000\n",
      "Epoch: 23130/30000, Loss: 0.0001\n",
      "Epoch: 23140/30000, Loss: 0.0000\n",
      "Epoch: 23150/30000, Loss: 0.0000\n",
      "Epoch: 23160/30000, Loss: 0.0000\n",
      "Epoch: 23170/30000, Loss: 0.0000\n",
      "Epoch: 23180/30000, Loss: 0.0001\n",
      "Epoch: 23190/30000, Loss: 0.0002\n",
      "Epoch: 23200/30000, Loss: 0.0001\n",
      "Epoch: 23210/30000, Loss: 0.0000\n",
      "Epoch: 23220/30000, Loss: 0.0000\n",
      "Epoch: 23230/30000, Loss: 0.0004\n",
      "Epoch: 23240/30000, Loss: 0.0002\n",
      "Epoch: 23250/30000, Loss: 0.0000\n",
      "Epoch: 23260/30000, Loss: 0.0000\n",
      "Epoch: 23270/30000, Loss: 0.0000\n",
      "Epoch: 23280/30000, Loss: 0.0000\n",
      "Epoch: 23290/30000, Loss: 0.0000\n",
      "Epoch: 23300/30000, Loss: 0.0002\n",
      "Epoch: 23310/30000, Loss: 0.0001\n",
      "Epoch: 23320/30000, Loss: 0.0001\n",
      "Epoch: 23330/30000, Loss: 0.0000\n",
      "Epoch: 23340/30000, Loss: 0.0000\n",
      "Epoch: 23350/30000, Loss: 0.0000\n",
      "Epoch: 23360/30000, Loss: 0.0000\n",
      "Epoch: 23370/30000, Loss: 0.0000\n",
      "Epoch: 23380/30000, Loss: 0.0003\n",
      "Epoch: 23390/30000, Loss: 0.0001\n",
      "Epoch: 23400/30000, Loss: 0.0000\n",
      "Epoch: 23410/30000, Loss: 0.0000\n",
      "Epoch: 23420/30000, Loss: 0.0000\n",
      "Epoch: 23430/30000, Loss: 0.0001\n",
      "Epoch: 23440/30000, Loss: 0.0003\n",
      "Epoch: 23450/30000, Loss: 0.0001\n",
      "Epoch: 23460/30000, Loss: 0.0000\n",
      "Epoch: 23470/30000, Loss: 0.0000\n",
      "Epoch: 23480/30000, Loss: 0.0004\n",
      "Epoch: 23490/30000, Loss: 0.0001\n",
      "Epoch: 23500/30000, Loss: 0.0000\n",
      "Epoch: 23510/30000, Loss: 0.0000\n",
      "Epoch: 23520/30000, Loss: 0.0000\n",
      "Epoch: 23530/30000, Loss: 0.0000\n",
      "Epoch: 23540/30000, Loss: 0.0001\n",
      "Epoch: 23550/30000, Loss: 0.0005\n",
      "Epoch: 23560/30000, Loss: 0.0001\n",
      "Epoch: 23570/30000, Loss: 0.0000\n",
      "Epoch: 23580/30000, Loss: 0.0000\n",
      "Epoch: 23590/30000, Loss: 0.0000\n",
      "Epoch: 23600/30000, Loss: 0.0002\n",
      "Epoch: 23610/30000, Loss: 0.0001\n",
      "Epoch: 23620/30000, Loss: 0.0000\n",
      "Epoch: 23630/30000, Loss: 0.0000\n",
      "Epoch: 23640/30000, Loss: 0.0000\n",
      "Epoch: 23650/30000, Loss: 0.0000\n",
      "Epoch: 23660/30000, Loss: 0.0000\n",
      "Epoch: 23670/30000, Loss: 0.0000\n",
      "Epoch: 23680/30000, Loss: 0.0002\n",
      "Epoch: 23690/30000, Loss: 0.0001\n",
      "Epoch: 23700/30000, Loss: 0.0003\n",
      "Epoch: 23710/30000, Loss: 0.0001\n",
      "Epoch: 23720/30000, Loss: 0.0000\n",
      "Epoch: 23730/30000, Loss: 0.0000\n",
      "Epoch: 23740/30000, Loss: 0.0000\n",
      "Epoch: 23750/30000, Loss: 0.0000\n",
      "Epoch: 23760/30000, Loss: 0.0001\n",
      "Epoch: 23770/30000, Loss: 0.0005\n",
      "Epoch: 23780/30000, Loss: 0.0001\n",
      "Epoch: 23790/30000, Loss: 0.0000\n",
      "Epoch: 23800/30000, Loss: 0.0000\n",
      "Epoch: 23810/30000, Loss: 0.0000\n",
      "Epoch: 23820/30000, Loss: 0.0005\n",
      "Epoch: 23830/30000, Loss: 0.0000\n",
      "Epoch: 23840/30000, Loss: 0.0001\n",
      "Epoch: 23850/30000, Loss: 0.0000\n",
      "Epoch: 23860/30000, Loss: 0.0000\n",
      "Epoch: 23870/30000, Loss: 0.0000\n",
      "Epoch: 23880/30000, Loss: 0.0001\n",
      "Epoch: 23890/30000, Loss: 0.0002\n",
      "Epoch: 23900/30000, Loss: 0.0000\n",
      "Epoch: 23910/30000, Loss: 0.0000\n",
      "Epoch: 23920/30000, Loss: 0.0000\n",
      "Epoch: 23930/30000, Loss: 0.0000\n",
      "Epoch: 23940/30000, Loss: 0.0000\n",
      "Epoch: 23950/30000, Loss: 0.0000\n",
      "Epoch: 23960/30000, Loss: 0.0002\n",
      "Epoch: 23970/30000, Loss: 0.0001\n",
      "Epoch: 23980/30000, Loss: 0.0001\n",
      "Epoch: 23990/30000, Loss: 0.0001\n",
      "Epoch: 24000/30000, Loss: 0.0000\n",
      "Epoch: 24010/30000, Loss: 0.0000\n",
      "Epoch: 24020/30000, Loss: 0.0000\n",
      "Epoch: 24030/30000, Loss: 0.0000\n",
      "Epoch: 24040/30000, Loss: 0.0000\n",
      "Epoch: 24050/30000, Loss: 0.0002\n",
      "Epoch: 24060/30000, Loss: 0.0001\n",
      "Epoch: 24070/30000, Loss: 0.0001\n",
      "Epoch: 24080/30000, Loss: 0.0000\n",
      "Epoch: 24090/30000, Loss: 0.0000\n",
      "Epoch: 24100/30000, Loss: 0.0001\n",
      "Epoch: 24110/30000, Loss: 0.0000\n",
      "Epoch: 24120/30000, Loss: 0.0000\n",
      "Epoch: 24130/30000, Loss: 0.0000\n",
      "Epoch: 24140/30000, Loss: 0.0000\n",
      "Epoch: 24150/30000, Loss: 0.0000\n",
      "Epoch: 24160/30000, Loss: 0.0000\n",
      "Epoch: 24170/30000, Loss: 0.0001\n",
      "Epoch: 24180/30000, Loss: 0.0002\n",
      "Epoch: 24190/30000, Loss: 0.0002\n",
      "Epoch: 24200/30000, Loss: 0.0000\n",
      "Epoch: 24210/30000, Loss: 0.0000\n",
      "Epoch: 24220/30000, Loss: 0.0000\n",
      "Epoch: 24230/30000, Loss: 0.0000\n",
      "Epoch: 24240/30000, Loss: 0.0000\n",
      "Epoch: 24250/30000, Loss: 0.0003\n",
      "Epoch: 24260/30000, Loss: 0.0002\n",
      "Epoch: 24270/30000, Loss: 0.0001\n",
      "Epoch: 24280/30000, Loss: 0.0000\n",
      "Epoch: 24290/30000, Loss: 0.0000\n",
      "Epoch: 24300/30000, Loss: 0.0000\n",
      "Epoch: 24310/30000, Loss: 0.0000\n",
      "Epoch: 24320/30000, Loss: 0.0001\n",
      "Epoch: 24330/30000, Loss: 0.0005\n",
      "Epoch: 24340/30000, Loss: 0.0002\n",
      "Epoch: 24350/30000, Loss: 0.0001\n",
      "Epoch: 24360/30000, Loss: 0.0000\n",
      "Epoch: 24370/30000, Loss: 0.0000\n",
      "Epoch: 24380/30000, Loss: 0.0000\n",
      "Epoch: 24390/30000, Loss: 0.0000\n",
      "Epoch: 24400/30000, Loss: 0.0003\n",
      "Epoch: 24410/30000, Loss: 0.0001\n",
      "Epoch: 24420/30000, Loss: 0.0001\n",
      "Epoch: 24430/30000, Loss: 0.0000\n",
      "Epoch: 24440/30000, Loss: 0.0000\n",
      "Epoch: 24450/30000, Loss: 0.0000\n",
      "Epoch: 24460/30000, Loss: 0.0001\n",
      "Epoch: 24470/30000, Loss: 0.0002\n",
      "Epoch: 24480/30000, Loss: 0.0000\n",
      "Epoch: 24490/30000, Loss: 0.0000\n",
      "Epoch: 24500/30000, Loss: 0.0000\n",
      "Epoch: 24510/30000, Loss: 0.0001\n",
      "Epoch: 24520/30000, Loss: 0.0508\n",
      "Epoch: 24530/30000, Loss: 0.0338\n",
      "Epoch: 24540/30000, Loss: 0.0140\n",
      "Epoch: 24550/30000, Loss: 0.0106\n",
      "Epoch: 24560/30000, Loss: 0.0036\n",
      "Epoch: 24570/30000, Loss: 0.0018\n",
      "Epoch: 24580/30000, Loss: 0.0012\n",
      "Epoch: 24590/30000, Loss: 0.0009\n",
      "Epoch: 24600/30000, Loss: 0.0009\n",
      "Epoch: 24610/30000, Loss: 0.0009\n",
      "Epoch: 24620/30000, Loss: 0.0008\n",
      "Epoch: 24630/30000, Loss: 0.0007\n",
      "Epoch: 24640/30000, Loss: 0.0006\n",
      "Epoch: 24650/30000, Loss: 0.0006\n",
      "Epoch: 24660/30000, Loss: 0.0005\n",
      "Epoch: 24670/30000, Loss: 0.0005\n",
      "Epoch: 24680/30000, Loss: 0.0004\n",
      "Epoch: 24690/30000, Loss: 0.0005\n",
      "Epoch: 24700/30000, Loss: 0.0004\n",
      "Epoch: 24710/30000, Loss: 0.0004\n",
      "Epoch: 24720/30000, Loss: 0.0003\n",
      "Epoch: 24730/30000, Loss: 0.0007\n",
      "Epoch: 24740/30000, Loss: 0.0008\n",
      "Epoch: 24750/30000, Loss: 0.0005\n",
      "Epoch: 24760/30000, Loss: 0.0048\n",
      "Epoch: 24770/30000, Loss: 0.0020\n",
      "Epoch: 24780/30000, Loss: 0.0009\n",
      "Epoch: 24790/30000, Loss: 0.0005\n",
      "Epoch: 24800/30000, Loss: 0.0004\n",
      "Epoch: 24810/30000, Loss: 0.0003\n",
      "Epoch: 24820/30000, Loss: 0.0003\n",
      "Epoch: 24830/30000, Loss: 0.0003\n",
      "Epoch: 24840/30000, Loss: 0.0003\n",
      "Epoch: 24850/30000, Loss: 0.0003\n",
      "Epoch: 24860/30000, Loss: 0.0003\n",
      "Epoch: 24870/30000, Loss: 0.0003\n",
      "Epoch: 24880/30000, Loss: 0.0003\n",
      "Epoch: 24890/30000, Loss: 0.0002\n",
      "Epoch: 24900/30000, Loss: 0.0002\n",
      "Epoch: 24910/30000, Loss: 0.0002\n",
      "Epoch: 24920/30000, Loss: 0.0002\n",
      "Epoch: 24930/30000, Loss: 0.0002\n",
      "Epoch: 24940/30000, Loss: 0.0002\n",
      "Epoch: 24950/30000, Loss: 0.0002\n",
      "Epoch: 24960/30000, Loss: 0.0002\n",
      "Epoch: 24970/30000, Loss: 0.0002\n",
      "Epoch: 24980/30000, Loss: 0.0002\n",
      "Epoch: 24990/30000, Loss: 0.0002\n",
      "Epoch: 25000/30000, Loss: 0.0002\n",
      "Epoch: 25010/30000, Loss: 0.0002\n",
      "Epoch: 25020/30000, Loss: 0.0002\n",
      "Epoch: 25030/30000, Loss: 0.0002\n",
      "Epoch: 25040/30000, Loss: 0.0002\n",
      "Epoch: 25050/30000, Loss: 0.0002\n",
      "Epoch: 25060/30000, Loss: 0.0002\n",
      "Epoch: 25070/30000, Loss: 0.0002\n",
      "Epoch: 25080/30000, Loss: 0.0002\n",
      "Epoch: 25090/30000, Loss: 0.0002\n",
      "Epoch: 25100/30000, Loss: 0.0002\n",
      "Epoch: 25110/30000, Loss: 0.0002\n",
      "Epoch: 25120/30000, Loss: 0.0002\n",
      "Epoch: 25130/30000, Loss: 0.0002\n",
      "Epoch: 25140/30000, Loss: 0.0002\n",
      "Epoch: 25150/30000, Loss: 0.0002\n",
      "Epoch: 25160/30000, Loss: 0.0002\n",
      "Epoch: 25170/30000, Loss: 0.0002\n",
      "Epoch: 25180/30000, Loss: 0.0002\n",
      "Epoch: 25190/30000, Loss: 0.0002\n",
      "Epoch: 25200/30000, Loss: 0.0002\n",
      "Epoch: 25210/30000, Loss: 0.0002\n",
      "Epoch: 25220/30000, Loss: 0.0015\n",
      "Epoch: 25230/30000, Loss: 0.0022\n",
      "Epoch: 25240/30000, Loss: 0.0006\n",
      "Epoch: 25250/30000, Loss: 0.0004\n",
      "Epoch: 25260/30000, Loss: 0.0003\n",
      "Epoch: 25270/30000, Loss: 0.0003\n",
      "Epoch: 25280/30000, Loss: 0.0002\n",
      "Epoch: 25290/30000, Loss: 0.0002\n",
      "Epoch: 25300/30000, Loss: 0.0002\n",
      "Epoch: 25310/30000, Loss: 0.0002\n",
      "Epoch: 25320/30000, Loss: 0.0002\n",
      "Epoch: 25330/30000, Loss: 0.0002\n",
      "Epoch: 25340/30000, Loss: 0.0002\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 25350/30000, Loss: 0.0002\n",
      "Epoch: 25360/30000, Loss: 0.0002\n",
      "Epoch: 25370/30000, Loss: 0.0002\n",
      "Epoch: 25380/30000, Loss: 0.0002\n",
      "Epoch: 25390/30000, Loss: 0.0002\n",
      "Epoch: 25400/30000, Loss: 0.0002\n",
      "Epoch: 25410/30000, Loss: 0.0002\n",
      "Epoch: 25420/30000, Loss: 0.0002\n",
      "Epoch: 25430/30000, Loss: 0.0002\n",
      "Epoch: 25440/30000, Loss: 0.0002\n",
      "Epoch: 25450/30000, Loss: 0.0002\n",
      "Epoch: 25460/30000, Loss: 0.0002\n",
      "Epoch: 25470/30000, Loss: 0.0002\n",
      "Epoch: 25480/30000, Loss: 0.0002\n",
      "Epoch: 25490/30000, Loss: 0.0002\n",
      "Epoch: 25500/30000, Loss: 0.0002\n",
      "Epoch: 25510/30000, Loss: 0.0002\n",
      "Epoch: 25520/30000, Loss: 0.0002\n",
      "Epoch: 25530/30000, Loss: 0.0002\n",
      "Epoch: 25540/30000, Loss: 0.0002\n",
      "Epoch: 25550/30000, Loss: 0.0002\n",
      "Epoch: 25560/30000, Loss: 0.0002\n",
      "Epoch: 25570/30000, Loss: 0.0002\n",
      "Epoch: 25580/30000, Loss: 0.0002\n",
      "Epoch: 25590/30000, Loss: 0.0002\n",
      "Epoch: 25600/30000, Loss: 0.0002\n",
      "Epoch: 25610/30000, Loss: 0.0002\n",
      "Epoch: 25620/30000, Loss: 0.0002\n",
      "Epoch: 25630/30000, Loss: 0.0002\n",
      "Epoch: 25640/30000, Loss: 0.0002\n",
      "Epoch: 25650/30000, Loss: 0.0002\n",
      "Epoch: 25660/30000, Loss: 0.0002\n",
      "Epoch: 25670/30000, Loss: 0.0002\n",
      "Epoch: 25680/30000, Loss: 0.0002\n",
      "Epoch: 25690/30000, Loss: 0.0002\n",
      "Epoch: 25700/30000, Loss: 0.0002\n",
      "Epoch: 25710/30000, Loss: 0.0002\n",
      "Epoch: 25720/30000, Loss: 0.0002\n",
      "Epoch: 25730/30000, Loss: 0.0002\n",
      "Epoch: 25740/30000, Loss: 0.0002\n",
      "Epoch: 25750/30000, Loss: 0.0002\n",
      "Epoch: 25760/30000, Loss: 0.0002\n",
      "Epoch: 25770/30000, Loss: 0.0002\n",
      "Epoch: 25780/30000, Loss: 0.0002\n",
      "Epoch: 25790/30000, Loss: 0.0002\n",
      "Epoch: 25800/30000, Loss: 0.0002\n",
      "Epoch: 25810/30000, Loss: 0.0002\n",
      "Epoch: 25820/30000, Loss: 0.0002\n",
      "Epoch: 25830/30000, Loss: 0.0002\n",
      "Epoch: 25840/30000, Loss: 0.0002\n",
      "Epoch: 25850/30000, Loss: 0.0002\n",
      "Epoch: 25860/30000, Loss: 0.0002\n",
      "Epoch: 25870/30000, Loss: 0.0002\n",
      "Epoch: 25880/30000, Loss: 0.0002\n",
      "Epoch: 25890/30000, Loss: 0.0002\n",
      "Epoch: 25900/30000, Loss: 0.0002\n",
      "Epoch: 25910/30000, Loss: 0.0002\n",
      "Epoch: 25920/30000, Loss: 0.0002\n",
      "Epoch: 25930/30000, Loss: 0.0002\n",
      "Epoch: 25940/30000, Loss: 0.0008\n",
      "Epoch: 25950/30000, Loss: 0.0002\n",
      "Epoch: 25960/30000, Loss: 0.0002\n",
      "Epoch: 25970/30000, Loss: 0.0002\n",
      "Epoch: 25980/30000, Loss: 0.0002\n",
      "Epoch: 25990/30000, Loss: 0.0002\n",
      "Epoch: 26000/30000, Loss: 0.0002\n",
      "Epoch: 26010/30000, Loss: 0.0002\n",
      "Epoch: 26020/30000, Loss: 0.0002\n",
      "Epoch: 26030/30000, Loss: 0.0002\n",
      "Epoch: 26040/30000, Loss: 0.0002\n",
      "Epoch: 26050/30000, Loss: 0.0002\n",
      "Epoch: 26060/30000, Loss: 0.0002\n",
      "Epoch: 26070/30000, Loss: 0.0002\n",
      "Epoch: 26080/30000, Loss: 0.0002\n",
      "Epoch: 26090/30000, Loss: 0.0002\n",
      "Epoch: 26100/30000, Loss: 0.0002\n",
      "Epoch: 26110/30000, Loss: 0.0002\n",
      "Epoch: 26120/30000, Loss: 0.0002\n",
      "Epoch: 26130/30000, Loss: 0.0002\n",
      "Epoch: 26140/30000, Loss: 0.0009\n",
      "Epoch: 26150/30000, Loss: 0.0013\n",
      "Epoch: 26160/30000, Loss: 0.0005\n",
      "Epoch: 26170/30000, Loss: 0.0003\n",
      "Epoch: 26180/30000, Loss: 0.0002\n",
      "Epoch: 26190/30000, Loss: 0.0002\n",
      "Epoch: 26200/30000, Loss: 0.0002\n",
      "Epoch: 26210/30000, Loss: 0.0002\n",
      "Epoch: 26220/30000, Loss: 0.0002\n",
      "Epoch: 26230/30000, Loss: 0.0002\n",
      "Epoch: 26240/30000, Loss: 0.0002\n",
      "Epoch: 26250/30000, Loss: 0.0002\n",
      "Epoch: 26260/30000, Loss: 0.0002\n",
      "Epoch: 26270/30000, Loss: 0.0002\n",
      "Epoch: 26280/30000, Loss: 0.0002\n",
      "Epoch: 26290/30000, Loss: 0.0002\n",
      "Epoch: 26300/30000, Loss: 0.0002\n",
      "Epoch: 26310/30000, Loss: 0.0002\n",
      "Epoch: 26320/30000, Loss: 0.0002\n",
      "Epoch: 26330/30000, Loss: 0.0002\n",
      "Epoch: 26340/30000, Loss: 0.0002\n",
      "Epoch: 26350/30000, Loss: 0.0002\n",
      "Epoch: 26360/30000, Loss: 0.0002\n",
      "Epoch: 26370/30000, Loss: 0.0002\n",
      "Epoch: 26380/30000, Loss: 0.0002\n",
      "Epoch: 26390/30000, Loss: 0.0002\n",
      "Epoch: 26400/30000, Loss: 0.0002\n",
      "Epoch: 26410/30000, Loss: 0.0002\n",
      "Epoch: 26420/30000, Loss: 0.0002\n",
      "Epoch: 26430/30000, Loss: 0.0002\n",
      "Epoch: 26440/30000, Loss: 0.0002\n",
      "Epoch: 26450/30000, Loss: 0.0002\n",
      "Epoch: 26460/30000, Loss: 0.0002\n",
      "Epoch: 26470/30000, Loss: 0.0002\n",
      "Epoch: 26480/30000, Loss: 0.0002\n",
      "Epoch: 26490/30000, Loss: 0.0002\n",
      "Epoch: 26500/30000, Loss: 0.0002\n",
      "Epoch: 26510/30000, Loss: 0.0002\n",
      "Epoch: 26520/30000, Loss: 0.0002\n",
      "Epoch: 26530/30000, Loss: 0.0002\n",
      "Epoch: 26540/30000, Loss: 0.0002\n",
      "Epoch: 26550/30000, Loss: 0.0002\n",
      "Epoch: 26560/30000, Loss: 0.0002\n",
      "Epoch: 26570/30000, Loss: 0.0002\n",
      "Epoch: 26580/30000, Loss: 0.0002\n",
      "Epoch: 26590/30000, Loss: 0.0002\n",
      "Epoch: 26600/30000, Loss: 0.0002\n",
      "Epoch: 26610/30000, Loss: 0.0002\n",
      "Epoch: 26620/30000, Loss: 0.0002\n",
      "Epoch: 26630/30000, Loss: 0.0002\n",
      "Epoch: 26640/30000, Loss: 0.0003\n",
      "Epoch: 26650/30000, Loss: 0.0132\n",
      "Epoch: 26660/30000, Loss: 0.0056\n",
      "Epoch: 26670/30000, Loss: 0.0015\n",
      "Epoch: 26680/30000, Loss: 0.0009\n",
      "Epoch: 26690/30000, Loss: 0.0006\n",
      "Epoch: 26700/30000, Loss: 0.0003\n",
      "Epoch: 26710/30000, Loss: 0.0003\n",
      "Epoch: 26720/30000, Loss: 0.0002\n",
      "Epoch: 26730/30000, Loss: 0.0002\n",
      "Epoch: 26740/30000, Loss: 0.0002\n",
      "Epoch: 26750/30000, Loss: 0.0002\n",
      "Epoch: 26760/30000, Loss: 0.0002\n",
      "Epoch: 26770/30000, Loss: 0.0002\n",
      "Epoch: 26780/30000, Loss: 0.0002\n",
      "Epoch: 26790/30000, Loss: 0.0002\n",
      "Epoch: 26800/30000, Loss: 0.0002\n",
      "Epoch: 26810/30000, Loss: 0.0002\n",
      "Epoch: 26820/30000, Loss: 0.0002\n",
      "Epoch: 26830/30000, Loss: 0.0002\n",
      "Epoch: 26840/30000, Loss: 0.0002\n",
      "Epoch: 26850/30000, Loss: 0.0002\n",
      "Epoch: 26860/30000, Loss: 0.0002\n",
      "Epoch: 26870/30000, Loss: 0.0002\n",
      "Epoch: 26880/30000, Loss: 0.0002\n",
      "Epoch: 26890/30000, Loss: 0.0002\n",
      "Epoch: 26900/30000, Loss: 0.0003\n",
      "Epoch: 26910/30000, Loss: 0.0002\n",
      "Epoch: 26920/30000, Loss: 0.0002\n",
      "Epoch: 26930/30000, Loss: 0.0002\n",
      "Epoch: 26940/30000, Loss: 0.0002\n",
      "Epoch: 26950/30000, Loss: 0.0002\n",
      "Epoch: 26960/30000, Loss: 0.0002\n",
      "Epoch: 26970/30000, Loss: 0.0002\n",
      "Epoch: 26980/30000, Loss: 0.0002\n",
      "Epoch: 26990/30000, Loss: 0.0003\n",
      "Epoch: 27000/30000, Loss: 0.0002\n",
      "Epoch: 27010/30000, Loss: 0.0002\n",
      "Epoch: 27020/30000, Loss: 0.0002\n",
      "Epoch: 27030/30000, Loss: 0.0002\n",
      "Epoch: 27040/30000, Loss: 0.0002\n",
      "Epoch: 27050/30000, Loss: 0.0002\n",
      "Epoch: 27060/30000, Loss: 0.0002\n",
      "Epoch: 27070/30000, Loss: 0.0159\n",
      "Epoch: 27080/30000, Loss: 0.0042\n",
      "Epoch: 27090/30000, Loss: 0.0018\n",
      "Epoch: 27100/30000, Loss: 0.0009\n",
      "Epoch: 27110/30000, Loss: 0.0004\n",
      "Epoch: 27120/30000, Loss: 0.0003\n",
      "Epoch: 27130/30000, Loss: 0.0002\n",
      "Epoch: 27140/30000, Loss: 0.0002\n",
      "Epoch: 27150/30000, Loss: 0.0002\n",
      "Epoch: 27160/30000, Loss: 0.0002\n",
      "Epoch: 27170/30000, Loss: 0.0002\n",
      "Epoch: 27180/30000, Loss: 0.0002\n",
      "Epoch: 27190/30000, Loss: 0.0002\n",
      "Epoch: 27200/30000, Loss: 0.0002\n",
      "Epoch: 27210/30000, Loss: 0.0002\n",
      "Epoch: 27220/30000, Loss: 0.0002\n",
      "Epoch: 27230/30000, Loss: 0.0002\n",
      "Epoch: 27240/30000, Loss: 0.0002\n",
      "Epoch: 27250/30000, Loss: 0.0002\n",
      "Epoch: 27260/30000, Loss: 0.0002\n",
      "Epoch: 27270/30000, Loss: 0.0002\n",
      "Epoch: 27280/30000, Loss: 0.0002\n",
      "Epoch: 27290/30000, Loss: 0.0002\n",
      "Epoch: 27300/30000, Loss: 0.0002\n",
      "Epoch: 27310/30000, Loss: 0.0002\n",
      "Epoch: 27320/30000, Loss: 0.0002\n",
      "Epoch: 27330/30000, Loss: 0.0002\n",
      "Epoch: 27340/30000, Loss: 0.0002\n",
      "Epoch: 27350/30000, Loss: 0.0002\n",
      "Epoch: 27360/30000, Loss: 0.0002\n",
      "Epoch: 27370/30000, Loss: 0.0002\n",
      "Epoch: 27380/30000, Loss: 0.0002\n",
      "Epoch: 27390/30000, Loss: 0.0002\n",
      "Epoch: 27400/30000, Loss: 0.0002\n",
      "Epoch: 27410/30000, Loss: 0.0002\n",
      "Epoch: 27420/30000, Loss: 0.0002\n",
      "Epoch: 27430/30000, Loss: 0.0002\n",
      "Epoch: 27440/30000, Loss: 0.0002\n",
      "Epoch: 27450/30000, Loss: 0.0002\n",
      "Epoch: 27460/30000, Loss: 0.0002\n",
      "Epoch: 27470/30000, Loss: 0.0002\n",
      "Epoch: 27480/30000, Loss: 0.0002\n",
      "Epoch: 27490/30000, Loss: 0.0002\n",
      "Epoch: 27500/30000, Loss: 0.0002\n",
      "Epoch: 27510/30000, Loss: 0.0002\n",
      "Epoch: 27520/30000, Loss: 0.0002\n",
      "Epoch: 27530/30000, Loss: 0.0002\n",
      "Epoch: 27540/30000, Loss: 0.0002\n",
      "Epoch: 27550/30000, Loss: 0.0002\n",
      "Epoch: 27560/30000, Loss: 0.0002\n",
      "Epoch: 27570/30000, Loss: 0.0002\n",
      "Epoch: 27580/30000, Loss: 0.0002\n",
      "Epoch: 27590/30000, Loss: 0.0002\n",
      "Epoch: 27600/30000, Loss: 0.0002\n",
      "Epoch: 27610/30000, Loss: 0.0002\n",
      "Epoch: 27620/30000, Loss: 0.0002\n",
      "Epoch: 27630/30000, Loss: 0.0002\n",
      "Epoch: 27640/30000, Loss: 0.0002\n",
      "Epoch: 27650/30000, Loss: 0.0002\n",
      "Epoch: 27660/30000, Loss: 0.0002\n",
      "Epoch: 27670/30000, Loss: 0.0002\n",
      "Epoch: 27680/30000, Loss: 0.0002\n",
      "Epoch: 27690/30000, Loss: 0.0002\n",
      "Epoch: 27700/30000, Loss: 0.0002\n",
      "Epoch: 27710/30000, Loss: 0.0002\n",
      "Epoch: 27720/30000, Loss: 0.0002\n",
      "Epoch: 27730/30000, Loss: 0.0002\n",
      "Epoch: 27740/30000, Loss: 0.0002\n",
      "Epoch: 27750/30000, Loss: 0.0002\n",
      "Epoch: 27760/30000, Loss: 0.0002\n",
      "Epoch: 27770/30000, Loss: 0.0002\n",
      "Epoch: 27780/30000, Loss: 0.0002\n",
      "Epoch: 27790/30000, Loss: 0.0002\n",
      "Epoch: 27800/30000, Loss: 0.0002\n",
      "Epoch: 27810/30000, Loss: 0.0002\n",
      "Epoch: 27820/30000, Loss: 0.0002\n",
      "Epoch: 27830/30000, Loss: 0.0002\n",
      "Epoch: 27840/30000, Loss: 0.0002\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Epoch: 27850/30000, Loss: 0.0002\n",
      "Epoch: 27860/30000, Loss: 0.0002\n",
      "Epoch: 27870/30000, Loss: 0.0002\n",
      "Epoch: 27880/30000, Loss: 0.0002\n",
      "Epoch: 27890/30000, Loss: 0.0002\n",
      "Epoch: 27900/30000, Loss: 0.0002\n",
      "Epoch: 27910/30000, Loss: 0.0002\n",
      "Epoch: 27920/30000, Loss: 0.0002\n",
      "Epoch: 27930/30000, Loss: 0.0008\n",
      "Epoch: 27940/30000, Loss: 0.0027\n",
      "Epoch: 27950/30000, Loss: 0.0015\n",
      "Epoch: 27960/30000, Loss: 0.0005\n",
      "Epoch: 27970/30000, Loss: 0.0003\n",
      "Epoch: 27980/30000, Loss: 0.0002\n",
      "Epoch: 27990/30000, Loss: 0.0002\n",
      "Epoch: 28000/30000, Loss: 0.0002\n",
      "Epoch: 28010/30000, Loss: 0.0002\n",
      "Epoch: 28020/30000, Loss: 0.0002\n",
      "Epoch: 28030/30000, Loss: 0.0002\n",
      "Epoch: 28040/30000, Loss: 0.0002\n",
      "Epoch: 28050/30000, Loss: 0.0002\n",
      "Epoch: 28060/30000, Loss: 0.0002\n",
      "Epoch: 28070/30000, Loss: 0.0002\n",
      "Epoch: 28080/30000, Loss: 0.0002\n",
      "Epoch: 28090/30000, Loss: 0.0002\n",
      "Epoch: 28100/30000, Loss: 0.0003\n",
      "Epoch: 28110/30000, Loss: 0.0002\n",
      "Epoch: 28120/30000, Loss: 0.0002\n",
      "Epoch: 28130/30000, Loss: 0.0002\n",
      "Epoch: 28140/30000, Loss: 0.0002\n",
      "Epoch: 28150/30000, Loss: 0.0002\n",
      "Epoch: 28160/30000, Loss: 0.0002\n",
      "Epoch: 28170/30000, Loss: 0.0002\n",
      "Epoch: 28180/30000, Loss: 0.0002\n",
      "Epoch: 28190/30000, Loss: 0.0002\n",
      "Epoch: 28200/30000, Loss: 0.0002\n",
      "Epoch: 28210/30000, Loss: 0.0002\n",
      "Epoch: 28220/30000, Loss: 0.0002\n",
      "Epoch: 28230/30000, Loss: 0.0002\n",
      "Epoch: 28240/30000, Loss: 0.0002\n",
      "Epoch: 28250/30000, Loss: 0.0002\n",
      "Epoch: 28260/30000, Loss: 0.0002\n",
      "Epoch: 28270/30000, Loss: 0.0002\n",
      "Epoch: 28280/30000, Loss: 0.0002\n",
      "Epoch: 28290/30000, Loss: 0.0003\n",
      "Epoch: 28300/30000, Loss: 0.0002\n",
      "Epoch: 28310/30000, Loss: 0.0002\n",
      "Epoch: 28320/30000, Loss: 0.0002\n",
      "Epoch: 28330/30000, Loss: 0.0002\n",
      "Epoch: 28340/30000, Loss: 0.0002\n",
      "Epoch: 28350/30000, Loss: 0.0002\n",
      "Epoch: 28360/30000, Loss: 0.0003\n",
      "Epoch: 28370/30000, Loss: 0.0002\n",
      "Epoch: 28380/30000, Loss: 0.0002\n",
      "Epoch: 28390/30000, Loss: 0.0002\n",
      "Epoch: 28400/30000, Loss: 0.0003\n",
      "Epoch: 28410/30000, Loss: 0.0074\n",
      "Epoch: 28420/30000, Loss: 0.0042\n",
      "Epoch: 28430/30000, Loss: 0.0014\n",
      "Epoch: 28440/30000, Loss: 0.0008\n",
      "Epoch: 28450/30000, Loss: 0.0005\n",
      "Epoch: 28460/30000, Loss: 0.0004\n",
      "Epoch: 28470/30000, Loss: 0.0003\n",
      "Epoch: 28480/30000, Loss: 0.0003\n",
      "Epoch: 28490/30000, Loss: 0.0003\n",
      "Epoch: 28500/30000, Loss: 0.0003\n",
      "Epoch: 28510/30000, Loss: 0.0003\n",
      "Epoch: 28520/30000, Loss: 0.0003\n",
      "Epoch: 28530/30000, Loss: 0.0003\n",
      "Epoch: 28540/30000, Loss: 0.0003\n",
      "Epoch: 28550/30000, Loss: 0.0003\n",
      "Epoch: 28560/30000, Loss: 0.0002\n",
      "Epoch: 28570/30000, Loss: 0.0002\n",
      "Epoch: 28580/30000, Loss: 0.0002\n",
      "Epoch: 28590/30000, Loss: 0.0002\n",
      "Epoch: 28600/30000, Loss: 0.0002\n",
      "Epoch: 28610/30000, Loss: 0.0002\n",
      "Epoch: 28620/30000, Loss: 0.0002\n",
      "Epoch: 28630/30000, Loss: 0.0002\n",
      "Epoch: 28640/30000, Loss: 0.0002\n",
      "Epoch: 28650/30000, Loss: 0.0002\n",
      "Epoch: 28660/30000, Loss: 0.0002\n",
      "Epoch: 28670/30000, Loss: 0.0002\n",
      "Epoch: 28680/30000, Loss: 0.0002\n",
      "Epoch: 28690/30000, Loss: 0.0002\n",
      "Epoch: 28700/30000, Loss: 0.0002\n",
      "Epoch: 28710/30000, Loss: 0.0002\n",
      "Epoch: 28720/30000, Loss: 0.0002\n",
      "Epoch: 28730/30000, Loss: 0.0002\n",
      "Epoch: 28740/30000, Loss: 0.0002\n",
      "Epoch: 28750/30000, Loss: 0.0002\n",
      "Epoch: 28760/30000, Loss: 0.0002\n",
      "Epoch: 28770/30000, Loss: 0.0002\n",
      "Epoch: 28780/30000, Loss: 0.0002\n",
      "Epoch: 28790/30000, Loss: 0.0002\n",
      "Epoch: 28800/30000, Loss: 0.0002\n",
      "Epoch: 28810/30000, Loss: 0.0002\n",
      "Epoch: 28820/30000, Loss: 0.0002\n",
      "Epoch: 28830/30000, Loss: 0.0002\n",
      "Epoch: 28840/30000, Loss: 0.0002\n",
      "Epoch: 28850/30000, Loss: 0.0002\n",
      "Epoch: 28860/30000, Loss: 0.0002\n",
      "Epoch: 28870/30000, Loss: 0.0002\n",
      "Epoch: 28880/30000, Loss: 0.0002\n",
      "Epoch: 28890/30000, Loss: 0.0002\n",
      "Epoch: 28900/30000, Loss: 0.0002\n",
      "Epoch: 28910/30000, Loss: 0.0002\n",
      "Epoch: 28920/30000, Loss: 0.0002\n",
      "Epoch: 28930/30000, Loss: 0.0002\n",
      "Epoch: 28940/30000, Loss: 0.0002\n",
      "Epoch: 28950/30000, Loss: 0.0002\n",
      "Epoch: 28960/30000, Loss: 0.0002\n",
      "Epoch: 28970/30000, Loss: 0.0002\n",
      "Epoch: 28980/30000, Loss: 0.0002\n",
      "Epoch: 28990/30000, Loss: 0.0002\n",
      "Epoch: 29000/30000, Loss: 0.0002\n",
      "Epoch: 29010/30000, Loss: 0.0002\n",
      "Epoch: 29020/30000, Loss: 0.0002\n",
      "Epoch: 29030/30000, Loss: 0.0002\n",
      "Epoch: 29040/30000, Loss: 0.0002\n",
      "Epoch: 29050/30000, Loss: 0.0002\n",
      "Epoch: 29060/30000, Loss: 0.0002\n",
      "Epoch: 29070/30000, Loss: 0.0002\n",
      "Epoch: 29080/30000, Loss: 0.0002\n",
      "Epoch: 29090/30000, Loss: 0.0002\n",
      "Epoch: 29100/30000, Loss: 0.0002\n",
      "Epoch: 29110/30000, Loss: 0.0002\n",
      "Epoch: 29120/30000, Loss: 0.0002\n",
      "Epoch: 29130/30000, Loss: 0.0002\n",
      "Epoch: 29140/30000, Loss: 0.0002\n",
      "Epoch: 29150/30000, Loss: 0.0002\n",
      "Epoch: 29160/30000, Loss: 0.0002\n",
      "Epoch: 29170/30000, Loss: 0.0002\n",
      "Epoch: 29180/30000, Loss: 0.0002\n",
      "Epoch: 29190/30000, Loss: 0.0002\n",
      "Epoch: 29200/30000, Loss: 0.0002\n",
      "Epoch: 29210/30000, Loss: 0.0001\n",
      "Epoch: 29220/30000, Loss: 0.0001\n",
      "Epoch: 29230/30000, Loss: 0.0002\n",
      "Epoch: 29240/30000, Loss: 0.0002\n",
      "Epoch: 29250/30000, Loss: 0.0002\n",
      "Epoch: 29260/30000, Loss: 0.0002\n",
      "Epoch: 29270/30000, Loss: 0.0006\n",
      "Epoch: 29280/30000, Loss: 0.0012\n",
      "Epoch: 29290/30000, Loss: 0.0009\n",
      "Epoch: 29300/30000, Loss: 0.0005\n",
      "Epoch: 29310/30000, Loss: 0.0003\n",
      "Epoch: 29320/30000, Loss: 0.0003\n",
      "Epoch: 29330/30000, Loss: 0.0003\n",
      "Epoch: 29340/30000, Loss: 0.0002\n",
      "Epoch: 29350/30000, Loss: 0.0002\n",
      "Epoch: 29360/30000, Loss: 0.0002\n",
      "Epoch: 29370/30000, Loss: 0.0002\n",
      "Epoch: 29380/30000, Loss: 0.0002\n",
      "Epoch: 29390/30000, Loss: 0.0002\n",
      "Epoch: 29400/30000, Loss: 0.0002\n",
      "Epoch: 29410/30000, Loss: 0.0002\n",
      "Epoch: 29420/30000, Loss: 0.0002\n",
      "Epoch: 29430/30000, Loss: 0.0002\n",
      "Epoch: 29440/30000, Loss: 0.0002\n",
      "Epoch: 29450/30000, Loss: 0.0002\n",
      "Epoch: 29460/30000, Loss: 0.0002\n",
      "Epoch: 29470/30000, Loss: 0.0003\n",
      "Epoch: 29480/30000, Loss: 0.0002\n",
      "Epoch: 29490/30000, Loss: 0.0002\n",
      "Epoch: 29500/30000, Loss: 0.0002\n",
      "Epoch: 29510/30000, Loss: 0.0002\n",
      "Epoch: 29520/30000, Loss: 0.0002\n",
      "Epoch: 29530/30000, Loss: 0.0002\n",
      "Epoch: 29540/30000, Loss: 0.0002\n",
      "Epoch: 29550/30000, Loss: 0.0002\n",
      "Epoch: 29560/30000, Loss: 0.0002\n",
      "Epoch: 29570/30000, Loss: 0.0002\n",
      "Epoch: 29580/30000, Loss: 0.0002\n",
      "Epoch: 29590/30000, Loss: 0.0002\n",
      "Epoch: 29600/30000, Loss: 0.0002\n",
      "Epoch: 29610/30000, Loss: 0.0002\n",
      "Epoch: 29620/30000, Loss: 0.0002\n",
      "Epoch: 29630/30000, Loss: 0.0002\n",
      "Epoch: 29640/30000, Loss: 0.0002\n",
      "Epoch: 29650/30000, Loss: 0.0002\n",
      "Epoch: 29660/30000, Loss: 0.0002\n",
      "Epoch: 29670/30000, Loss: 0.0002\n",
      "Epoch: 29680/30000, Loss: 0.0002\n",
      "Epoch: 29690/30000, Loss: 0.0002\n",
      "Epoch: 29700/30000, Loss: 0.0002\n",
      "Epoch: 29710/30000, Loss: 0.0002\n",
      "Epoch: 29720/30000, Loss: 0.0006\n",
      "Epoch: 29730/30000, Loss: 0.0002\n",
      "Epoch: 29740/30000, Loss: 0.0002\n",
      "Epoch: 29750/30000, Loss: 0.0001\n",
      "Epoch: 29760/30000, Loss: 0.0001\n",
      "Epoch: 29770/30000, Loss: 0.0001\n",
      "Epoch: 29780/30000, Loss: 0.0001\n",
      "Epoch: 29790/30000, Loss: 0.0001\n",
      "Epoch: 29800/30000, Loss: 0.0001\n",
      "Epoch: 29810/30000, Loss: 0.0002\n",
      "Epoch: 29820/30000, Loss: 0.0002\n",
      "Epoch: 29830/30000, Loss: 0.0003\n",
      "Epoch: 29840/30000, Loss: 0.0022\n",
      "Epoch: 29850/30000, Loss: 0.0010\n",
      "Epoch: 29860/30000, Loss: 0.0005\n",
      "Epoch: 29870/30000, Loss: 0.0003\n",
      "Epoch: 29880/30000, Loss: 0.0002\n",
      "Epoch: 29890/30000, Loss: 0.0002\n",
      "Epoch: 29900/30000, Loss: 0.0002\n",
      "Epoch: 29910/30000, Loss: 0.0002\n",
      "Epoch: 29920/30000, Loss: 0.0002\n",
      "Epoch: 29930/30000, Loss: 0.0002\n",
      "Epoch: 29940/30000, Loss: 0.0002\n",
      "Epoch: 29950/30000, Loss: 0.0002\n",
      "Epoch: 29960/30000, Loss: 0.0002\n",
      "Epoch: 29970/30000, Loss: 0.0002\n",
      "Epoch: 29980/30000, Loss: 0.0002\n",
      "Epoch: 29990/30000, Loss: 0.0002\n",
      "Epoch: 30000/30000, Loss: 0.0002\n"
     ]
    }
   ],
   "source": [
    "# Create RNN instance\n",
    "rnn = RNN(input_size, hidden_size, output_size)\n",
    "\n",
    "# Loss and optimizer\n",
    "criterion = nn.MSELoss()\n",
    "optimizer = torch.optim.Adam(rnn.parameters(), lr=0.01)\n",
    "\n",
    "# Training loop\n",
    "for epoch in range(num_epochs):\n",
    "    # Set initial hidden state\n",
    "    hidden = torch.zeros(1, batch_size, hidden_size)\n",
    "\n",
    "    # Forward pass\n",
    "    output, hidden = rnn(input_tensor, hidden)\n",
    "    loss = criterion(output, target_tensor)\n",
    "\n",
    "    # Backward and optimize\n",
    "    optimizer.zero_grad()\n",
    "    loss.backward()\n",
    "    optimizer.step()\n",
    "\n",
    "    # Print progress\n",
    "    if (epoch+1) % 10 == 0:\n",
    "        print(f'Epoch: {epoch+1}/{num_epochs}, Loss: {loss.item():.4f}')\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "a330d1ca",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(1, 256)\n",
      "(1, 201)\n",
      "(201, 256)\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/data/localhome/tkapoor/.local/lib/python3.8/site-packages/numpy/ma/core.py:2820: ComplexWarning: Casting complex values to real discards the imaginary part\n",
      "  _data = np.array(data, dtype=dtype, copy=copy,\n",
      "/usr/local/lib/python3.8/dist-packages/matplotlib/contour.py:1180: ComplexWarning: Casting complex values to real discards the imaginary part\n",
      "  self.levels = np.asarray(levels_arg).astype(np.float64)\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<Figure size 432x288 with 0 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1080x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.io\n",
    "from sklearn.model_selection import train_test_split\n",
    "\n",
    "# Load the .mat file\n",
    "mat_data = scipy.io.loadmat('NLS.mat')\n",
    "\n",
    "# Following is the code to plot the data u vs x and t. u is 256*100\n",
    "# matrix. Use first 75 columns for training and 25 for testing :)\n",
    "\n",
    "# Access the variables stored in the .mat file\n",
    "# The variable names in the .mat file become keys in the loaded dictionary\n",
    "x = mat_data['x']\n",
    "t = mat_data['tt']\n",
    "u1 = mat_data['uu']\n",
    "\n",
    "# Use the loaded variables as needed\n",
    "print(x.shape)\n",
    "print(t.shape)\n",
    "print(u.shape)\n",
    "\n",
    "X, T = np.meshgrid(x, t)\n",
    "# Define custom color levels\n",
    "c_levels = np.linspace(np.min(u1), np.max(u1), 100)\n",
    "\n",
    "# Plot the contour\n",
    "plt.figure()\n",
    "plt.figure(figsize=(15, 5))\n",
    "plt.contourf(T, X, u1.T, levels=c_levels, cmap='coolwarm')\n",
    "plt.xlabel('t')\n",
    "plt.ylabel('x')\n",
    "plt.title('Schrondinger-Equation')\n",
    "plt.colorbar()  # Add a colorbar for the contour levels\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "aada34db",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "torch.Size([1, 1, 256])\n",
      "torch.Size([1, 40, 256])\n"
     ]
    }
   ],
   "source": [
    "print(test_tensor.shape)\n",
    "prediction_tensor = torch.zeros(1, 40, 256).float()\n",
    "print(prediction_tensor.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "b6257d84",
   "metadata": {},
   "outputs": [],
   "source": [
    "with torch.no_grad():\n",
    "    hidden_pred = torch.zeros(1, batch_size, hidden_size)\n",
    "    prediction, _ = rnn(test_tensor, hidden_pred)\n",
    "    prediction = prediction.view(1, 1, 256).float()\n",
    "    prediction_tensor[:, 0, :] = prediction\n",
    "    for i in range(39):\n",
    "        hidden_pred = torch.zeros(1, batch_size, hidden_size)\n",
    "        prediction, _ = rnn(prediction, hidden_pred)\n",
    "        prediction = prediction.view(1, 1, 256).float()\n",
    "        prediction_tensor[:, i+1, :] = prediction"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "0fe309e4",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(201, 256)\n"
     ]
    }
   ],
   "source": [
    "# true solution\n",
    "h_true = np.abs(u1)\n",
    "h_true = h_true.T\n",
    "print(h_true.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "023483af",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(40, 256)\n"
     ]
    }
   ],
   "source": [
    "# exact\n",
    "u_test_full = h_true[161:201, :]\n",
    "print(u_test_full.shape)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "67721b1a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "torch.Size([1, 40, 256])"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "\n",
    "k1 = (prediction_tensor - u_test_full)**2\n",
    "u_test_full_tensor = torch.tensor(u_test_full**2)\n",
    "prediction_tensor.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "1687faef",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Relative Error Test:  0.3170042136998299 %\n"
     ]
    }
   ],
   "source": [
    "# Compute the relative L2 error norm (generalization error)\n",
    "relative_error_test = torch.mean(k1)/ torch.mean(u_test_full_tensor)\n",
    "\n",
    "print(\"Relative Error Test: \", relative_error_test.item(), \"%\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "3520a361",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(1.6950, dtype=torch.float64)\n"
     ]
    }
   ],
   "source": [
    "R_abs = torch.max(prediction_tensor-u_test_full)\n",
    "print(R_abs)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "445dda92",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Explained Variance Score: 0.4408047877985153\n"
     ]
    }
   ],
   "source": [
    "import torch\n",
    "\n",
    "a = prediction_tensor\n",
    "b = u_test_full\n",
    "# Assuming 'a' is your predicted values (model's predictions) and 'b' is the true values (ground truth)\n",
    "# Make sure 'a' and 'b' are PyTorch tensors\n",
    "b = torch.tensor(b)\n",
    "# Calculate the mean of 'b'\n",
    "mean_b = torch.mean(b)\n",
    "\n",
    "# Calculate the Explained Variance Score\n",
    "numerator = torch.var(b - a)  # Variance of the differences between 'b' and 'a'\n",
    "denominator = torch.var(b)    # Variance of 'b'\n",
    "evs = 1 - numerator / denominator\n",
    "\n",
    "print(\"Explained Variance Score:\", evs.item())\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "c567031c",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "tensor(0.2601, dtype=torch.float64)\n"
     ]
    }
   ],
   "source": [
    "R_mean = torch.mean(torch.abs(prediction_tensor - u_test_full))\n",
    "print(R_mean)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "id": "2ce3f07b",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(256, 201)"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "prediction_tensor = torch.squeeze(prediction_tensor)\n",
    "h = np.abs(u1)\n",
    "h.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "id": "a2d5c775",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(256, 1)\n",
      "(256, 1)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "# # Make sure the font is Times Roman\n",
    "# plt.rcParams['font.family'] = 'Times New Roman'\n",
    "\n",
    "# # Perform the prediction\n",
    "# with torch.no_grad():\n",
    "#     prediction = lem(test_tensor)\n",
    "\n",
    "final_time_output = prediction_tensor[-38, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = h[:, -38].reshape(-1, 1)\n",
    "print(final_out.shape)\n",
    "print(final_true.shape)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x.T, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x.T, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "# Set the axis labels with bold font weight\n",
    "ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "ax.set_ylabel(r\"${|u(x, t)|}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# Set the title with bold font weight\n",
    "ax.set_title(r\"${t = 1.28}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 3\n",
    "ax.set_xticks([-5, 0, 5])\n",
    "ax.set_yticks([0, 2, 4])\n",
    "\n",
    "# Set tick labels fontweight to bold and increase font size\n",
    "ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # Set the fontweight for tick labels to bold\n",
    "# for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "#     tick.set_weight('bold')\n",
    "\n",
    "# Set the spines linewidth to bold\n",
    "ax.spines['top'].set_linewidth(2)\n",
    "ax.spines['right'].set_linewidth(2)\n",
    "ax.spines['bottom'].set_linewidth(2)\n",
    "ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "\n",
    "# Increase font size for x and y axis numbers\n",
    "ax.tick_params(axis='both', which='major', labelsize=24)\n",
    "\n",
    "# Set the legend\n",
    "# ax.legend()\n",
    "\n",
    "plt.savefig('RNN_1.28_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "id": "18a30486",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(256, 1)\n",
      "(256, 1)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 360x360 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import numpy as np\n",
    "import torch\n",
    "\n",
    "# Create the figure and axis objects with reduced width\n",
    "fig, ax = plt.subplots(figsize=(5, 5))  # You can adjust the width (7 inches) and height (5 inches) as needed\n",
    "\n",
    "# # Make sure the font is Times Roman\n",
    "# plt.rcParams['font.family'] = 'Times New Roman'\n",
    "\n",
    "# # Perform the prediction\n",
    "# with torch.no_grad():\n",
    "#     prediction = lem(test_tensor)\n",
    "\n",
    "\n",
    "final_time_output = prediction_tensor[-3, :]\n",
    "final_out = final_time_output.detach().numpy().reshape(-1, 1)\n",
    "final_true = h[:, -3].reshape(-1, 1)\n",
    "print(final_out.shape)\n",
    "print(final_true.shape)\n",
    "\n",
    "# Plot the data with red and blue lines, one with dotted and one with solid style\n",
    "ax.plot(x.T, final_out, color='red', linestyle='dotted', linewidth=12, label='Prediction')\n",
    "ax.plot(x.T, final_true, color='blue', linestyle='solid', linewidth=7, label='True')\n",
    "\n",
    "# Set the axis labels with bold font weight\n",
    "ax.set_xlabel(r\"${x}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "ax.set_ylabel(r\"${|u(x, t)|}$\", fontsize=26, color='black', fontdict={'weight': 'bold'})\n",
    "\n",
    "# Set the title with bold font weight\n",
    "ax.set_title(r\"${t = 1.5}$\", fontsize=26, color='black', fontweight='bold')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 3\n",
    "ax.set_xticks([-5, 0, 5])\n",
    "ax.set_yticks([0, 2, 4])\n",
    "\n",
    "# Set tick labels fontweight to bold and increase font size\n",
    "ax.tick_params(axis='both', which='major', labelsize=20, width=2, length=10)\n",
    "\n",
    "# # Set the fontweight for tick labels to bold\n",
    "# for tick in ax.get_xticklabels() + ax.get_yticklabels():\n",
    "#     tick.set_weight('bold')\n",
    "\n",
    "# Set the spines linewidth to bold\n",
    "ax.spines['top'].set_linewidth(2)\n",
    "ax.spines['right'].set_linewidth(2)\n",
    "ax.spines['bottom'].set_linewidth(2)\n",
    "ax.spines['left'].set_linewidth(2)\n",
    "\n",
    "\n",
    "# Increase font size for x and y axis numbers\n",
    "ax.tick_params(axis='both', which='major', labelsize=24)\n",
    "\n",
    "# Set the legend\n",
    "# ax.legend()\n",
    "\n",
    "plt.savefig('RNN_1.5_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "2521282d",
   "metadata": {},
   "outputs": [],
   "source": [
    "conc_u = torch.squeeze(input_tensor)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "id": "1374d9aa",
   "metadata": {},
   "outputs": [],
   "source": [
    "concatenated_tensor = torch.cat((conc_u, prediction_tensor), dim=0)\n",
    "\n",
    "t1 = np.linspace(0, 1.5707 , 200)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "c81d0bb4",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1440x360 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import torch\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from matplotlib.ticker import FixedLocator\n",
    "\n",
    "# Assuming you have defined concatenated_tensor as a PyTorch tensor\n",
    "# concatenated_tensor = torch.cat((tensor1, tensor2), dim=0)\n",
    "\n",
    "# Convert concatenated_tensor to a NumPy array\n",
    "concatenated_array = concatenated_tensor.numpy()\n",
    "\n",
    "# Define custom color levels\n",
    "x = np.linspace(-5, 5, concatenated_array.shape[1])  # Replace 0 and 1 with your actual x range\n",
    "t = np.linspace(0, 1.57, concatenated_array.shape[0])  # Replace 0 and 1 with your actual t range\n",
    "X, T = np.meshgrid(x, t1)\n",
    "\n",
    "# Define custom color levels using the minimum and maximum from the NumPy array\n",
    "c_levels = np.linspace(np.min(concatenated_array), np.max(concatenated_array), 400)\n",
    "\n",
    "# Plot the contour with interpolated data\n",
    "plt.figure(figsize=(20, 5))\n",
    "plt.pcolormesh(T, X, concatenated_array, shading='auto', cmap='twilight')\n",
    "\n",
    "# Set the fontweight for axis labels to regular (not bold)\n",
    "plt.xlabel(\"$t$\", fontsize=26)\n",
    "plt.ylabel(\"$x$\", fontsize=26)\n",
    "plt.title(\"$|u(x, t)|$\", fontsize=26)\n",
    "\n",
    "# Set tick labels fontweight to regular (not bold) and increase font size\n",
    "plt.tick_params(axis='both', which='major', labelsize=20, width=3, length=10)\n",
    "\n",
    "# Set the fontweight for tick labels to regular (not bold)\n",
    "for tick in plt.gca().get_xticklabels() + plt.gca().get_yticklabels():\n",
    "    tick.set_weight('normal')\n",
    "\n",
    "# Set the number of ticks for x-axis and y-axis to 5\n",
    "num_ticks = 5\n",
    "x_ticks = np.linspace(np.min(T), np.max(T), num_ticks)\n",
    "y_ticks = np.linspace(np.min(X), np.max(X), num_ticks)\n",
    "\n",
    "plt.gca().xaxis.set_major_locator(FixedLocator(x_ticks))\n",
    "plt.gca().yaxis.set_major_locator(FixedLocator(y_ticks))\n",
    "\n",
    "cbar1 = plt.colorbar()\n",
    "# Set the number of ticks for the color bar with uniformly distributed numbers\n",
    "num_ticks = 5\n",
    "c_ticks = np.linspace(np.min(concatenated_array), np.max(concatenated_array), num_ticks)\n",
    "cbar1.set_ticks(c_ticks)\n",
    "\n",
    "# Set the fontweight and fontsize for color bar tick labels\n",
    "for t in cbar1.ax.get_yticklabels():\n",
    "    t.set_weight('normal')\n",
    "    t.set_fontsize(26)  # Increase the font size for color bar tick labels\n",
    "\n",
    "# Increase the size of numbers on axis and color bar\n",
    "plt.xticks(fontsize=26)\n",
    "plt.yticks(fontsize=26)\n",
    "\n",
    "# Increase the tick size and width of the color bar\n",
    "cbar1.ax.tick_params(axis='both', which='major', labelsize=30, width=3,  length=10)\n",
    "\n",
    "# Add a dotted line at t = 0.8\n",
    "plt.axvline(x=1.26449, color='black', linestyle='dotted', linewidth=5)\n",
    "\n",
    "#plt.savefig('Contour_LEM_20.pdf', dpi=500, bbox_inches=\"tight\")\n",
    "plt.savefig('contour_RNN_20.jpeg', dpi=500, bbox_inches=\"tight\")\n",
    "# Show the plot\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d6d77eff",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "4cff7a40",
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "id": "d109926c",
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "pytorch",
   "language": "python",
   "name": "pytorch"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.8.10"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
